在XAML中从Application.Resources添加ApplicationBarIconButton

时间:2012-03-16 16:28:05

标签: windows-phone-7.1

我有一个ApplicationBarIconButton,我在多个页面上重复使用。

我希望能够在我的应用程序C#文件中定义Click操作。

我有

<Application.Resources>
    <shell:ApplicationBarIconButton
        x:Key="AddLocationAppBarIconBut"
        IconUri="/icons/appbar.add.rest.png"
        Text="location"
        Click="Add_Location_Event" />

在我的App.xaml文件中,我想将其加载到

下的另一个页面中
<phone:PhoneApplicationPage.ApplicationBar>

我该怎么做呢? 我可以将click事件绑定到Application cs文件中的事件吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,你不能!

在完整的WPF框架中,您可以执行以下操作:

<phone:PhoneApplicationPage.ApplicationBar>
   <shell:ApplicationBar>
       <shell:ApplicationBar.Buttons>
           <StaticResource ResourceKey="AddLocationAppBarIconBut" />
       </shell:ApplicationBar.Buttons>
   </shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>

这里的诀窍是使用StaticResource,但Silverlight没有这样的支持类表示;您只能将标记扩展名用作{StaticResource AddLocationAppBarIconBut},但这对您没有帮助!

您可以将完整的ApplicationBar对象定义为资源,然后在页面上调用它,如下所示:

<phone:PhoneApplicationPage ApplicationBar="{StaticResource ApplicationBarResource}">

    <!-- remaining code -->

<phone:PhoneApplicationPage />