我正在尝试检测用户当前正在使用的当前全景项目,然后相应地切换应用程序栏图标按钮 isenabled 属性。我对如何实现这样的功能或正确检测当前的全景项目没有任何运气。具体来说,我想使用 selectedItem 属性并检测全景项目的名称而不是 selectedIndex 属性,因为全景项目可能会更改它们的顺序。有没有办法做到这一点?到目前为止,我拥有以下内容:
主页.xaml
<controls:Panorama SelectionChanged="PanoramaItemSelectionChanged">
<!--Panorama item one-->
<controls:PanoramaItem Header="statuses" >
...
</controls:PanoramaItem>
<!--Panorama item two-->
<controls:PanoramaItem Header="mentions" >
...
</controls:PanoramaItem>
<!--Panorama item three-->
<controls:PanoramaItem Header="messages" >
...
</controls:PanoramaItem>
<!--Panorama item four-->
<controls:PanoramaItem Header="favorites" >
...
</controls:PanoramaItem>
</controls:Panorama>
MainPage.xaml.cs
private void PanoramaItemSelectionChanged(object sender, SelectionChangedEventArgs e)
{
string currentPanoramaItem = e.AddedItems[0] as string;
switch (currentPanoramaItem)
{
case "statuses":
//show application bar button?
break;
case "mentions":
//show application bar button?
break;
case "messages":
((ApplicationBarIconButton)ApplicationBar.Buttons[0]).IsEnabled = true;
break;
case "favorites":
//show application bar button?
break;
default:
return;
}
}
由于某种原因,我的 SelectionChanged 实现不起作用。有什么想法(请举个例子)?