我正在使用 C# 和 XAML 开发带有 Visual Studio 2011 Beta 的 Metro 风格应用程序。我想在我的页面底部显示一个 AppBar。根据一些消息来源,我将不得不在标签内编写 AppBar Control<Page.BottomAppBar>...</Page.BottomAppBar>
标签。
但是在这样做的同时,XAML 页面上会生成一个错误,说:
页面无法识别 BottomAppBar。
请帮我解决一下这个。谢谢你。
我正在使用 C# 和 XAML 开发带有 Visual Studio 2011 Beta 的 Metro 风格应用程序。我想在我的页面底部显示一个 AppBar。根据一些消息来源,我将不得不在标签内编写 AppBar Control<Page.BottomAppBar>...</Page.BottomAppBar>
标签。
但是在这样做的同时,XAML 页面上会生成一个错误,说:
页面无法识别 BottomAppBar。
请帮我解决一下这个。谢谢你。
这是 BottomAppBar 的示例:
<Page.BottomAppBar>
<AppBar x:Name="MyappBar" Padding="10,0,10,0"
BorderThickness="0"
Opened="AppBar_Opened" Closed="AppBar_Closed" >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50*"/>
<ColumnDefinition Width="50*"/>
</Grid.ColumnDefinitions>
<StackPanel x:Name="LeftPanel" Orientation="Horizontal" Grid.Column="0" HorizontalAlignment="Left">
<Button x:Name="btnEdit" Style="{StaticResource EditAppBarButtonStyle}"/>
<Button x:Name="btnSave" Style="{StaticResource SaveAppBarButtonStyle}"/>
</StackPanel>
<StackPanel x:Name="RightPanel" Orientation="Horizontal" Grid.Column="1" HorizontalAlignment="Right">
<Button x:Name="btnPhoto" Style="{StaticResource PhotoAppBarButtonStyle}" Click="CapturePhoto_Click" />
<Button x:Name="btnHelp" Style="{StaticResource HelpAppBarButtonStyle}"/>
</StackPanel>
</Grid>
</AppBar>
</Page.BottomAppBar>
尝试将其</Page.Resources>
放在您的 xaml 文件中。请记住取消注释Common文件夹中StandardStyles.xaml中的按钮样式。
更新:尽管最初发布的方法在大多数情况下都有效,但不建议使用,因为 appbar 动画出现问题,命中测试......而是 Page.TopAppBar 和 Page.BottomAppBar 如http://social.msdn.microsoft.com/中所述应该使用论坛/en/winappswithcsharp/thread/1044f2fb-bc55-4391-ac82-02c5d5e75970。
您只需将应用栏的垂直对齐设置为底部:
<AppBar Grid.Row="1" HorizontalContentAlignment="Stretch" Height="88" VerticalContentAlignment="Stretch" VerticalAlignment="Bottom">
...
</Appbar>
另外确保 appbar 嵌入到屏幕底部的元素中。这意味着对于标准页面(具有 2 行的网格),应用栏必须嵌入到第二行(Grid.Row=1)。
最后一件事是您必须确保应用栏在 Z 顺序中位于最顶端。为此,您必须在 xaml 文件末尾添加底部 appbar。这意味着如果你有类似的东西:
<GridView Grid.Row="1">...</GridView>
您必须订购控制链接:
<GridView Grid.Row="1">...</GridView>
<AppBar Grid.Row="1">...</AppBar>