博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows8应用开发学习(四)AppBar
阅读量:5047 次
发布时间:2019-06-12

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

什么是AppBar?

AppBar可以用来显示导航,命令等,可以放在页面的顶部或底部,默认情况下AppBar是隐藏的,用户可以通过鼠标右键,Win+z或用手指从屏幕顶端或底端划过来显示或隐藏AppBar.

这是Windows应用商店顶端的AppBar,顶端AppBar通常用来做导航:

这是Windows8自带应用 “人脉” 底端的AppBar,底端AppBar通常用来显示命令按钮:

下面创建一个简单的拥有AppBar的应用,打开VS2012,FILE -> New -> Project -> Windows Store -> Blank App(XAML) -> 命名项目为 “AppBarDemo” -> OK. 

MainPage.xaml:

View Code
1 
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

MainPage.xaml.cs:

View Code
1 namespace AppBarDemo 2 { 3     ///  4     /// An empty page that can be used on its own or navigated to within a Frame. 5     ///  6     public sealed partial class MainPage : Page 7     { 8         public MainPage() 9         {10             this.InitializeComponent();11         }12        13         private void GetResultsButton_Click(object sender, RoutedEventArgs e)14         {15            DisplayTextBlock.Text += "\nShow results button is clicked!";16         }17 18         private void AddButton_Click(object sender, RoutedEventArgs e)19         {20             DisplayTextBlock.Text += "\nAdd button is clicked!";21         }22 23         private void RemoveButton_Click(object sender, RoutedEventArgs e)24         {25             DisplayTextBlock.Text += "\nRemove button is clicked!";26         }27     }28 }

按F5运行看下效果:

通过点击鼠标右键,Win+z或用手指从屏幕顶端或底端划过可使AppBar显示,点击AppBar中的按钮看下效果:

看下AppBar类的定义:

View Code
1     // Summary: 2     //     Represents the container control that holds app UI components for commanding 3     //     and experiences. 4     [MarshalingBehavior(MarshalingType.Agile)] 5     [Threading(ThreadingModel.Both)] 6     [Version(100794368)] 7     [WebHostHidden] 8     public class AppBar : ContentControl 9     {10         // Summary:11         //     Initializes a new instance of the AppBar class.12         public AppBar();13 14         // Summary:15         //     Gets or sets a value that indicates whether the AppBar is visible.16         //17         // Returns:18         //     True to display the AppBar and make it visible. False to hide the AppBar.19         public bool IsOpen { get; set; }20         //21         // Summary:22         //     Identifies the IsOpen dependency property.23         //24         // Returns:25         //     The identifier for the IsOpen dependency property.26         public static DependencyProperty IsOpenProperty { get; }27         //28         // Summary:29         //     Gets or sets a value that indicates whether the AppBar does not close on30         //     light dismiss.31         //32         // Returns:33         //     True if the AppBar does not close on light dismiss.  False if the AppBar34         //     is hidden on light dismiss.35         public bool IsSticky { get; set; }36         //37         // Summary:38         //     Identifies the IsSticky dependency property.39         //40         // Returns:41         //     The identifier for the IsSticky dependency property.42         public static DependencyProperty IsStickyProperty { get; }43 44         // Summary:45         //     Occurs when the AppBar changes from visible to hidden.46         public event EventHandler Closed;47         //48         // Summary:49         //     Occurs when the AppBar changes from hidden to visible.50         public event EventHandler Opened;51 52         // Summary:53         //     Invoked when the AppBar changes from visible to hidden.54         //55         // Parameters:56         //   e:57         //     Event data for the event.58         protected virtual void OnClosed(object e);59         //60         // Summary:61         //     Invoked when the AppBar changes from hidden to visible, or is first displayed.62         //63         // Parameters:64         //   e:65         //     Event data for the event.66         protected virtual void OnOpened(object e);67     }

可以看到有一个IsOpen和一个IsSticky属性,可以通过从后台代码中把IsOpen设置为true来打开AppBar. AppBar默认是在用户与AppBar以外的部分进行交互时,AppBar自动隐藏,例如当AppBar在打开状态时,用鼠标左键点击应用的非AppBar部分,AppBar则会自动关闭,但将IsStick属性设置为true时,除非用户显式地点击鼠标右键或按Win+z, 或用手指从屏幕顶端或底端划过才会隐藏,否则AppBar会一直显示。给TopAppBar设置一个IsSticky属性,再运行,点击鼠标右键调出AppBar,在应用的非AppBar位置用鼠标左键点击以下,会发现BottomAppBar隐藏了,而TopAppBar还在。

同时AppBar还有一个Opened和一个Closed事件,可以在其中做一些事情。

更多关于AppBar的使用,可以参考以下链接:

转载于:https://www.cnblogs.com/Allen-Li/archive/2013/04/02/2995410.html

你可能感兴趣的文章
C++标准库vector使用(更新中...)
查看>>
cocos2d-x 2.2.6 之 .xml文件数据读取
查看>>
枚举的使用
查看>>
BZOJ 1531 二进制优化多重背包
查看>>
BZOJ 2324 (有上下界的)费用流
查看>>
python3基础06(随机数的使用)
查看>>
Zookeeper系列(二)特征及应用场景
查看>>
【HTTP】Fiddler(三)- Fiddler命令行和HTTP断点调试
查看>>
Spring Boot使用Druid和监控配置
查看>>
poi 处理空单元格
查看>>
Android 内存泄漏优化总结
查看>>
luogu4849 寻找宝藏 (cdq分治+dp)
查看>>
Spring Cloud微服务笔记(五)Feign
查看>>
C语言键盘按键列表
查看>>
Codeforces Round #374 (Div. 2)
查看>>
oracle数据类型
查看>>
socket
查看>>
Vue中使用key的作用
查看>>
二叉索引树 树状数组
查看>>
日志框架--(一)基础篇
查看>>