博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
09、AppBarControl
阅读量:4555 次
发布时间:2019-06-08

本文共 3644 字,大约阅读时间需要 12 分钟。

 

1、Basics:

       这个示例主要演示了一个基本的 AppBar 控件。显示 AppBar 的方法: 用手轻划屏幕的顶部或者底部,或者右键单击鼠标,或者快捷方式 win键 + Z。轻划其它部分便可以隐藏 AppBar。

      

       底部按钮:

  显示为:

   其中,第一个编辑按钮的样式为(其它类似):

 

2、"sticky" AppBars:

         如果不想在鼠标左键单击屏幕时隐藏 AppBar 时,可以通过吧 AppBar 的 IsSticky 属性设置为  true。(单击鼠标右键时,一样会隐藏 AppBar)

 

3、Global AppBars :

        本示例的思路是在一个全局的页面中 (Global),分别只放置一个 AppBar ,和一个 Frame:

AppBar (其中只有一个 Back 按钮):

后退按钮的 C# 事件:

private void Back_Click(object sender, RoutedEventArgs e)        {            if (Frame1.CanGoBack)            {                Frame1.GoBack();            }        }

 

Frame:

然后通过 Global 页面中的 Frame1 对象来显示其它页面,例如,导航到 Global 页面时,首先显示一个 Page1 页面,在 Global 页面的 OnNavigatedTo(NavigationEventArgs e) 事件中:

protected override void OnNavigatedTo(NavigationEventArgs e)        {           // 把当前的 Global 页面作为参数,通过 this 传递到 Page1 页面            Frame1.Navigate(typeof(Page1), this);        }

 

然后,在 Page1 页面中接收参数:

GlobalPage rootPage = null; protected override void OnNavigatedTo(NavigationEventArgs e)        {           // 获得 Global 页面            rootPage = e.Parameter as GlobalPage;        }

 

然后,在 Page1 页面中,可以通过 Page1 中的按钮导航到 Page2 页面:

private void PageTwo_Click(object sender, RoutedEventArgs e)        {          //同样把 Global 页面 传递到 Page2 中            this.Frame.Navigate(typeof(Page2), rootPage);        }

 

其它页面导航类似,即通过在 Global 页面中放置一个 Frame1 对象,从而使 Page1、Page2 等在该对象中进行导航。

 

 

4、Animating Commands:

     本示例展示的是在添加、删除 AppBar 中的按钮时,伴随着动画的效果。方法很简单,只是在相应的 AppBar 的布局面板的 ChildrenTransitions 属性中添加 AddDeleteThemeTransition 即可。

 

 

     AppBar:

 

相应的 xaml :

 

 xaml 中的两个按钮:

                

按钮对应的两个事件:

//删除页面中名为 Save 的按钮 private void RemoveSaveButton_Click(object sender, RoutedEventArgs e)        {            if (Save != null)            {                LeftPanel.Children.Remove(Save);            }        }//向 AppBar 的面板中添加 按钮        private void AddFavoriteButton_Click(object sender, RoutedEventArgs e)        {            Button favButton = new Button();            favButton.Style = App.Current.Resources["FavoriteAppBarButtonStyle"] as Style;            LeftPanel.Children.Insert(2, favButton);        }

 

 

转载于:https://www.cnblogs.com/hebeiDGL/archive/2012/09/17/2688559.html

你可能感兴趣的文章
dede调用文章里的图片
查看>>
windows 窗体基本控件
查看>>
unix date 命令获取某日期的前一天
查看>>
团队作业(二)
查看>>
[hdu 2604] Queuing 递推 矩阵快速幂
查看>>
c# js 删除table原行数据
查看>>
[LeetCode][JavaScript]Pow(x, n)
查看>>
通讯录设计ver1.0版本
查看>>
swift学习笔记
查看>>
AngularJs2
查看>>
教你使用runtime写一个简单的字典转模型的工具类
查看>>
Entity Framework 一
查看>>
MVC 基础
查看>>
WIN7建立网络映射磁盘
查看>>
解决 Cannot resolve class or package 'mysql'
查看>>
【流程管理】【PCB】PCB设计流程
查看>>
2433: [Noi2011]智能车比赛 - BZOJ
查看>>
less
查看>>
WIN7 部署.NET程序 无法生成临时类(result=1)
查看>>
Milk Patterns POJ - 3261
查看>>