2013-05-03 4 views
0

В моем XAML у меня есть 2 разных AppBarr сек ресурсов:Получить экземпляр AppBar кнопки

<phone:PhoneApplicationPage.Resources> 

    <shell:ApplicationBar x:Key="appbar1" IsVisible="True"> 
     <shell:ApplicationBarIconButton x:Name="abMain1" IconUri="/icons/appbar.radeos.png" Text="radeos" 
             Click="abMain_Click" /> 
    </shell:ApplicationBar> 

    <shell:ApplicationBar x:Key="appbar2" IsVisible="True"> 
     <shell:ApplicationBarIconButton x:Name="abMain" IconUri="/icons/appbar.radeos.png" Text="radeos" 
             Click="abMain_Click" /> 
     <shell:ApplicationBarIconButton x:Name="abLast" IconUri="/icons/appbar.back.rest.png" Text="last" 
             Click="abLast_Click" /> 
     <shell:ApplicationBarIconButton x:Name="abNext" IconUri="/icons/appbar.next.rest.png" Text="next" 
             Click="abNext_Click" /> 
     <shell:ApplicationBarIconButton x:Name="abClosePopup" IconUri="/icons/appbar.cancel.rest.png" Text="close" 
             Click="abClosePopup_Click" /> 
    </shell:ApplicationBar> 

</phone:PhoneApplicationPage.Resources> 

И я включаю его в коде, когда мне это нужно с помощью:

ApplicationBar = (Microsoft.Phone.Shell.ApplicationBar) Resources["appbar1"]; 

или

ApplicationBar = (Microsoft.Phone.Shell.ApplicationBar) Resources["appbar2"]; 

Вопрос: Как получить экземпляр кнопок AppBarr (например, abMain1) в любом месте в коде?
Visual Studio видит это поле, но всегда null (потому что он в ресурсах).

ответ

0

Вы должны быть в состоянии получить доступ, как так

ApplicationBarIconButton abMain1Button = (ApplicationBarIconButton) ApplicationBar.Buttons[0]; 
+0

Спасибо за ваш ответ, но я просто решить мою проблему. Я ваш ответ ApplicationBar.Buttons [0] - это объект, который нужно бросить в ApplicationBarIconButton. Я использую эту конструкцию: var abMain1Button = (ApplicationBarIconButton) ApplicationBar.Buttons [0]; – jimpanzer

+0

ах, конечно, извините, я обновил свой ответ –

Смежные вопросы