Я новый разработчик телефонов для Windows. Я пытаюсь создать панель меню меню и хочу динамическое изменение текстового меню. В настоящее время у меня есть следующий код:
<Application.Resources>
<shell:ApplicationBar IsVisible="True" IsMenuEnabled="True" x:Key="GlobalAppBar">
<shell:ApplicationBarIconButton IconUri="/Assets/home.png" x:Name="btnHome" Text="Home" Click="btnHome_Click"/>
</shell:ApplicationBar>
</Application.Resources>
Но в коде позади я не могу установить текст как:
btnHome.Text="new name";
Я также искал с помощью Google и нашел следующее:
ApplicationBarIconButton btn = (ApplicationBarIconButton)ApplicationBar.Buttons[0];
Теперь я получаю следующую ошибку:
An object reference is required for the non-static field, method, or property 'Microsoft.Phone.Shell.ApplicationBar.Buttons.get'
Как это исправить?
Вы можете сделать так:
1. Определите ApplicationBar в Application.Resources, как то, что вы сделали.
2.Интентификация ApplicationBar на вашей странице с кодом С#:
ApplicationBar = App.Current.Resources["GlobalAppBar"] as ApplicationBar;
3. Измените текст динамика ApplicationBarIconButton:
ApplicationBarIconButton btn = (ApplicationBarIconButton)ApplicationBar.Buttons[0];
btn.Text = "Hello world";