在页面底部显示AppBar

时间:2012-03-20 02:50:21

标签: microsoft-metro winrt-xaml

我正在使用C#和XAML使用Visual Studio 2011 Beta开发Metro风格的应用程序。我想在页面底部显示一个AppBar。 根据一些消息来源,我将不得不在<Page.BottomAppBar>...</Page.BottomAppBar>标签内编写AppBar Control标签。

但是在这样做时,XAML页面上会生成错误,并说:

  

页面无法识别BottomAppBar。

请帮我解决这个问题。谢谢。

2 个答案:

答案 0 :(得分:2)

更新:尽管最初发布的方法适用于大多数情况,但不推荐使用appbar动画,点击测试时出现问题...而不是Page {TopApp.BopAppBar和Page.BottomAppBar,如{{{应该使用3}}。

您只需将appbar的垂直对齐方式设置为底部:

<AppBar Grid.Row="1" HorizontalContentAlignment="Stretch" Height="88"   VerticalContentAlignment="Stretch" VerticalAlignment="Bottom">
...
</Appbar>

另外,确保appbar嵌入在屏幕底部的元素中。这意味着对于标准页面(具有2行的网格),appbar必须嵌入第二行(Grid.Row = 1)。

最后一件事是你必须确保appbar在Z-order中是最顶层的。为此,您必须在xaml文件的末尾添加底部应用栏。这意味着如果你有类似的东西:

<GridView Grid.Row="1">...</GridView>

你必须订购控件linke:

<GridView Grid.Row="1">...</GridView>
<AppBar Grid.Row="1">...</AppBar>

答案 1 :(得分:2)

这是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 中的按钮样式。