问题 Windows 8底部应用栏


我一直试图得到一个 App bar 在一个 WinRT metro app (C# / XAML),但不知道从哪里开始。我试过用过 <ApplicationBar/> 标签,我得到一个 Type not found 错误。

网上没有帮助,有人可以用答案更新这篇文章,以便它也可以作为其他程序员的参考吗?

只有一个 JavaScript 样品没有多大帮助。


12155
2018-04-25 15:16


起源

你可以按照这个教程: 快速入门:添加应用栏 - Beno


答案:


这应该工作:

<AppBar
    VerticalAlignment="Bottom">
    <Button
        AutomationProperties.Name="Play"
        Style="{StaticResource PlayAppBarButtonStyle}"
        Command="{Binding PlayCommand}" />
</AppBar>

- 你会把它放在页面的布局根网格中。

*编辑

注意:根据文档 - 你应该把它放进去 Page.BottomAppBar 属性,尽管至少在Windows 8 Consumer Preview中 - 它在任何网格中使用时都可以正常工作,如果您的UI没有与页面控件紧密耦合,这很方便。

*编辑2, 来自MSFT的回复

建议的方法是使用Page.BottomAppBar / TopAppBar属性。

  • 如果在不使用这些属性的情况下添加AppBar,则在Consumer Preview中存在已知的命中测试问题
  • 如果在不使用这些属性的情况下添加它们,则AppBars不会使用正确的动画
  • 如果将AppBars添加为任意元素的子元素,则多个控件更容易尝试创建/修改AppBar,从而导致用户体验不一致

*编辑3

CustomAppBar in WinRT XAML工具包 可以在任何地方使用,基于垂直/水平对齐的动画,可以在其上覆盖其他内容,并且还具有允许阻止其打开的CanOpen属性。


13
2018-04-25 15:41



在WinRT中,您必须将其放在Page.BottomAppBar或Page.TopAppBar属性中。我建议你更正你的答案以避免投票=)。 - Carlo
@carlo是对的。他们在开发者和消费者预览之间改变了它 - Robert Levy
他们做到了?我从来没有注意到我只是把它放在我所有应用程序的网格中,它只是工作。如果我没有页面怎么办?我实际上计划停止使用Microsoft的Frame / Page控件并将其替换为我的,因为他们很糟糕(有限的功能)。你的意思是我也需要建立自己的AppBar吗?现在只需将它放入网格即可。我会查找可能表明这将在以后的版本中停止工作的文档...... - Filip Skakun
我错过了样品。谢谢。 - Jay Kannan


<Page.TopAppBar>
    <AppBar>
        <TextBlock x:Name="TextBlock1" Text="Sample Text" Margin="0,0,0,0" Height="Auto" VerticalAlignment="Center" HorizontalAlignment="Left"/>
    </AppBar>
</Page.TopAppBar>

1
2018-03-31 18:05