Windows 8.1 AppBar省略号

时间:2013-09-09 13:10:08

标签: windows-8 windows-runtime windows-store-apps winrt-xaml windows-8.1

在Windows 8.1中,像Calendar这样的RTM应用程序带有带省略号的AppBar。

我正在尝试复制它,但无法找到有关此类功能的任何详细信息被添加到Windows 8.1中的AppBar控件。

朋友建议在Grid中制作一个CircleStackPanel,放在页面底部,点击后打开AppBar。

有没有更好的方法在Windows 8.1的日历应用程序中完成AppBar样式?

奖金问题:日历应用程序,如果我没记错,新闻应用程序有一个惊人的导航AppBar从顶部拉下来。我该如何创建呢?

3 个答案:

答案 0 :(得分:2)

这已在MSDN论坛的x-post上得到解答。

省略号是这些应用程序中的自定义内容,而不是当前AppBar的常规属性。此外,Bing应用程序中的导航元素是WinJS NavBar控件...目前尚未实现为XAML控件。

答案 1 :(得分:0)

Jeremy Alles提供了一个如何使用边框中的按钮模拟这个模型的例子:

http://www.japf.fr/2013/10/winrt-introducing-the-appbarhint-control/

为了让它正常工作,我必须做出的一个改变是你在页面上引用控件。而不是:

<controls:AppBarHint Grid.Row="1" />

你需要使用

<controls:AppBarHint Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" />

为了额外的整洁,更改主网格,以便有第三行:

<Grid.RowDefinitions>
    <RowDefinition Height="140"/>
    <RowDefinition Height="*"/>
    <RowDefinition Height="15"/>
</Grid.RowDefinitions>

并将行引用更改为Grid.Row="2"。这样做的原因是它确保app bar提示不会遮挡第1行中的任何其他内容,例如一个水平滚动条。

最后,Mail应用程序提供了一个工具提示,你可以在控件的XAML中添加它:

ToolTipService.ToolTip="Show more commands (Windows logo key+Z, or right-click)"

答案 2 :(得分:0)

看起来省略号内置在WinJS AppBar控件中。从GitHub(https://github.com/winjs/winjs/)获取最新的WinJS位后,您可以使用新的AppBar closedDisplayMode属性来获取省略号:

<div data-win-control="WinJS.UI.AppBar" data-win options="{closedDisplayMode:'minimal'}">
     <button data-win-control="WinJS.UI.AppBarCommand" data-win-options="{id:'cmdAdd',label:'Add',icon:'add'}"></button>
     <button data-win-control="WinJS.UI.AppBarCommand" data-win-options="{id:'cmdRemove',label:'Remove',icon:'remove'}"></button>
</div>

您可以在此处找到演示:http://try.buildwinjs.com/#appbar