2012-04-25 57 views
11

我一直在试图获得在WinRT metro appC#/XAML)中实施的App bar,但不知道从哪里开始。我试过使用<ApplicationBar/>标签,我得到一个Type not found错误。Windows 8底部应用程序栏

有没有在线帮助,可能有人更新这个帖子的答案,以便它会成为其他程序员参考呢?

这里只有一个JavaScript样本是有很大帮助没有。

回答

13

这应该工作:

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

–你会把那个在你的页面的布局根格。

*编辑

注:根据文件 - 你应该把它放在Page.BottomAppBar财产,但至少在Windows 8消费者预览版 - 在任何电网,这是方便使用,当它工作正常,如果你的UI ISN”与页面控件紧密耦合。

*编辑2,response from MSFT

推荐的方法是使用Page.BottomAppBar/TopAppBar性质。

  • 有已知的命中测试问题在消费者预览版,如果不使用这些属性
  • 的AppBars不使用正确的动画如果添加它们添加AppBars不使用这些属性
  • 如果AppBars是添加任意元素的孩子那么它的多个控件更容易尝试创建/修改AppBars,从而导致不一致的用户体验

*编辑3

的CustomAppBar在WinRT XAML Toolkit可以在任何地方被使用,动画基于垂直/水平-对齐,可以具有在它上面的其他内容重叠,并且还具有一个CANopen属性,允许从开口阻止它。

+1

在WinRT中,你必须把它放在Page.BottomAppBar或Page.TopAppBar内属性。我建议你纠正你的答案,以避免倒票=)。 – Carlo 2012-04-25 21:52:01

+0

@carlo是对的。他们在dev和消费者预览之间改变了它 – 2012-04-25 22:01:55

+1

他们做了什么?我从未注意到。我只是把它放在我的所有应用程序中的一个网格中,它就可以工作。如果我没有网页怎么办?实际上,我打算停止使用微软的Frame/Page控件,并将它们替换为我的,因为它们吸吮(有限的功能)。你的意思是我需要建立自己的AppBar吗?现在只需将其放入网格中即可。我会寻找可能表明这将停止在未来版本中工作的文档... – 2012-04-25 22:30:40

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