Jan*_*vil 5 windows-runtime winrt-xaml windows-phone-8.1
当用户更改Hub控件中的视图时,我需要更改AppBar的内容.
我在使用Pivot控件时执行此操作的方式是侦听SelectionChanged事件并响应SelectIndex值.
但是,集线器只有一个SectionsInViewChanged事件,它返回多个部分的集合.通常,一个用户与相邻的,几乎不可见的部分进行交互.
所以我的问题是,我如何判断哪个部分是当前显着向用户显示的部分(因此我可以相应地更改AppBar图标)?
Chr*_*hao 13
在Hub控制中,我们可以收听此SectionsInViewChanged事件.我们可以得到这个显示在屏幕上的HubSection:
var section = hubDemo.SectionsInView[0];
Run Code Online (Sandbox Code Playgroud)
hubDemo是我的Hub控件的名称.我们可以Tag为每个HubSection 设置属性.例如:
<Hub x:Name="hubDemo" SectionsInViewChanged="demoHub_SectionsInViewChanged">
<HubSection Tag="0" Header="Section1" Width="800"/>
<HubSection Tag="1" Header="Section2" Width="400"/>
<HubSection Tag="2" Header="Section3" Width="400"/>
<HubSection Tag="3" Header="Section4" Width="400"/>
<HubSection Tag="4" Header="Section5" Width="600"/>
</Hub>
Run Code Online (Sandbox Code Playgroud)
所以我们可以按标签更改AppBar内容:
private void demoHub_SectionsInViewChanged(object sender, SectionsInViewChangedEventArgs e)
{
var section = hubDemo.SectionsInView[0];
var tag = section.Tag.ToString();
switch (tag)
{
// Change your AppBar by tag
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3080 次 |
| 最近记录: |