我有以下XAML代码:
<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar IsVisible="True" IsMenuEnabled="False" x:Name="PageBar">
<shell:ApplicationBarIconButton IconUri="/Assets/Icons/appbar.questionmark.rest.png" Text="Help" x:Name="HelpIcon" Click="HelpIcon_Click" />
<shell:ApplicationBar.MenuItems>
<shell:ApplicationBarMenuItem Text="Help" x:Name="HelpItem" Click="HelpIcon_Click" />
<shell:ApplicationBarMenuItem Text="About" x:Name="AboutItem" Click="AboutItem_Click" />
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>
但在C#代码中始终是null
。
你知道为什么吗?
答案 0 :(得分:16)
在一些愚蠢的决定中,ApplicationBar不是标准的Silverlight对象,因为它不能真正适合可视树,不能绑定到x:Name不起作用。
您可以通过PhoneApplicationPage上的属性引用ApplicationBar。
var helpItem = this.ApplicationBar.MenuItems[0];
var aboutItem = this.ApplicationBar.MenuItems[1];
答案 1 :(得分:6)