Ответ 1
Я нашел, что это сработало для меня, когда я хотел изменить видимость:
(ApplicationBar as ApplicationBar).IsVisible = true;
Я получил ответ от Matthew
У меня есть следующий код 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>
Но внутри кода С# всегда null
.
Знаете ли вы, почему?
Я нашел, что это сработало для меня, когда я хотел изменить видимость:
(ApplicationBar as ApplicationBar).IsVisible = true;
Я получил ответ от Matthew
В каком-то глупом решении ApplicationBar не является стандартным объектом Silverlight, из-за которого он действительно не вписывается в визуальное дерево, не может быть привязан, а x: Name не работает.
Вы можете обратиться к ApplicationBar через свойство на PhoneApplicationPage.
var helpItem = this.ApplicationBar.MenuItems[0];
var aboutItem = this.ApplicationBar.MenuItems[1];