获取AppBar Button的实例

时间:2013-05-03 06:19:48

标签: windows-phone-7 xaml windows-phone-8 windows-phone

在我的xaml中,我有2个不同的AppBarr资源:

 <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(因为它在资源中)。

1 个答案:

答案 0 :(得分:0)

您应该可以这样访问

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