0

对于 WP8 应用程序,我必须为不同的页面创建相同的应用程序栏,我是否需要在 Xaml 中为所有页面创建它,或者有任何方法可以定义一次并在整个应用程序中使用它。

4

1 回答 1

1

你可以像这样在 App.xaml 中定义你的 appbar。

 <Application.Resources>
    <local:LocalizedStrings xmlns:local="clr-namespace:PhoneApp12" x:Key="LocalizedStrings"/>
    <shell:ApplicationBar x:Key="GlobalAppBar" IsVisible="True" IsMenuEnabled="True" BackgroundColor="Black" ForegroundColor="White">
        <shell:ApplicationBarIconButton x:Name="asd" IconUri="/1.png" Text="0"  />
        <shell:ApplicationBarIconButton IconUri="/1.png" Text="1" />
        <shell:ApplicationBarIconButton IconUri="/1.png" Text="2"  />
        <shell:ApplicationBarIconButton IconUri="/1.png" Text="3"  />
    </shell:ApplicationBar>
</Application.Resources>

并在您的 xaml 页面上添加此内容。

ApplicationBar = "{StaticResource GlobalAppBar}"

所以你的 page.xaml 顶部看起来像这样..

<phone:PhoneApplicationPage
x:Class="PhoneApp12.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
 **ApplicationBar = "{StaticResource GlobalAppBar}"**
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True">

希望对你有帮助。。

于 2013-08-28T11:12:23.977 回答