Metro学习笔记+心得+体会(五)-------侧边栏、弹出菜单和对话框

 *************************************

版权归作者和博客园共同所有,文章链接:http://www.cnblogs.com/Wade-/archive/2012/06/09/2543433.html

*************************************

AppBar是Metro程序的侧边栏,单击右键就会弹出它,你可以利用它很方便的完成某些操作。

AppBar在这里用法很简单,顶级标记Page.TopAppBar指示AppBar在应用程序上边显示,包含在AppBar标记里的是内容,按钮中的Style来自于系统中的StandardStyles.xaml:

复制代码
    <Page.TopAppBar>
        <AppBar>
            <StackPanel Orientation="Horizontal">
                <Button Click="Button_Click_1" Style="{StaticResource PreviousAppBarButtonStyle}"></Button> 
                <Button Click="Button_Click_2"  Style="{StaticResource NextAppBarButtonStyle}"></Button>  
                <Button Click="Button_Click_3" Style="{StaticResource HomeAppBarButtonStyle}"></Button>
                               
</StackPanel>
        </AppBar>
    </Page.TopAppBar>
复制代码

Popups是一个命名空间,其完整命名空间名是Windows.UI.Popups,其中包含了对话框和弹出菜单的操作。

例如你需要显示一个对话框,你可以利用MessageDialog很方便的完成这项工作:

         MessageDialog dialg = new MessageDialog("你单击了Previous按钮!!!","提示");  //实例化一个对话框
          await dialg.ShowAsync();//显示它

这里用了它的构造函数直接设置了内容(前一个)和标题(后一个),也可以通过属性设置。

另外,

再讲一下PopupMenu,PopupMenu是一个弹出菜单,通过它的Commands属性的Add方法为它添加菜单项,添加类型为UICommand类,实现IUICommand接口。

UICommand的第一个参数设置菜单项标题;可以相应菜单项单击事件,通过UICommand的第二个参数设定;第三个参数是标示符,它应该是惟一的。

UICommandSeparator是分隔符,分隔两个菜单项,同样是用上边的方法添加。

最后通过 ShowForSelectionAsync或ShowAsync显示。在这里我用的是ShowForSelectionAsync:

            PopupMenu menu = 
new Windows.UI.Popups.PopupMenu(); menu.Commands.Add(new UICommand("你单击了Next",new UICommandInvokedHandler(menu1), 1)); //添加菜单项 UICommandSeparator uic = new UICommandSeparator();//分隔符 menu.Commands.Add(uic);//添加分隔符 await menu.ShowForSelectionAsync(new Rect(),Placement.Right); //显示位置

最后,还是老规矩,奉上源码一份:

************************************************************

https://skydrive.live.com/redir?resid=F408A3D3DF420664!216&authkey=!AKZmqtMV1c_66xw

 ***********************************************************

posted @   deepwzh  阅读(1938)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示