CommandBar为用户提供的功能与桌面应用程序的工具栏基本相同,但应该让它们简单得多,通常限制工具栏上可用的选项少于8项。
—次可以显示多个CommandBar,但请记住,这会使用户界面很杂乱,不应该只为显示更多选项而显示多个工具栏。另一方面,如果想提供多种导航,有时同时把工具栏显示在顶部和底部会比较好。
Visual Studio附带了 CommandBar控件,很容易创建这种类型的控件。下面的示例创建一个应用程序的工具栏,其中包含许多标准项。
试一试 创建 CommandBar: Ch25Ex05
(1)回到先前的Bas icNavigation示例。
(2)在三个页面上都添加一个CommandBar。把它作为每个页面上Grid控件的子元素:
<CommandBar>
<AppBarToggleButton x:Name="toggleButtonBold" Icon ="Bold" Label="Bold" Click=
"AppBarToggleButtonBold_Click"/>
<AppBarSeparator />
<AppBarButton Icon="Back" Label="Back" Click="buttonGoBack_Click"/>
<AppBarButton Icon="Forward" Label="Forward" Click=
"AppBarButtonForward_Click"/>
<CominandBar. SecondaryCommands>
<AppBarButton Icon=HCamera" Label="Take picture" />
<AppBarButton Icon="Help" Label="Help" />
</CommandBar,SecondaryCommands>
</CommandBar>
(3)把下面的事件处理程序添加到所有三个页面上:
private void AppBarButtonForwardClick(object sender, RoutedEventArgs e)
{
if (Frame.CanGoForward) this.Frame.GoForward();
}
private void AppBarToggleButtonBold_Click(object sender, RoutedEventArgs e)
{
AppBarToggleButton toggleButton = sender as AppBarToggleButton;
bool isChecked = toggleButton.IsChecked.HasValue ?
(bool)toggleButton?.IsChecked.Value : false;
textBlockCaption.FontWeight = isChecked ? FontWeights.Bold :
FontWeights.Normal;
}
(4)把下面的using语句添加到所有页面上:
using Windows.UI.Text;
(5)在所有三个页面上,把文本框的margin改为丨0,50,10,10。
(6)运行该应用程序。
示例说明
运行这个应用程序时,现在可以使用命令栏按钮在曾经访问过的页面列表中来回移动。命令栏本身很容易处理。
命令栏用三种类型来建立。第一个是AppBarToggleButton。
<AppBarToggleButton x:Name="toggleButtonBold" Icon="Bold" Label= "Bold" Click=
"AppBarToggleButtonBold_Click" />
这种类型的按钮可用来显示开启或关闭的状态。
第二种类型是AppBarButton,与任何其他按钮类似,事实上可以看到,AppBarButtonBack按钮的单击事件是由前面示例中ButtonBack的同一个事件处理程序处理的。
<AppBarButton Icon="Back" Label="Back" Click="buttonGoBack_Click"/>
用于命令栏的第三中类型是AppBarSeperator。这种控件只显示命令栏中的分隔线。
最后,两个按钮位于CommandBar.SecondaryCommands标签内:
<CommandBar. SecondaryCominands>
<AppBarButton Icon="Camera" Label="Take picture" />
<AppBarButton Icon="Help" Label="Help" />
</CommandBar.SecondaryCommands>
</CommandBar>
这些命令不直接显示在命令栏上,相反,在单击显示的三个点时,它们显示为下拉框。
已有 22658 名学员学习以下课程通过考试
最需教育客户端 软件问题一手掌握
去 App Store 免费下载 iOS 客户端
点击加载更多评论>>