2013-05-03 36 views
0

在我的XAML中我有2个不同的AppBarr S IN资源:获取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 2013-05-03 06:43:24

+0

啊,当然,对不起,我已经更新了我的答案 – 2013-05-03 07:05:11