手把手玩转win8开发系列课程(14)
这节的议程就是——添加appbar
appbar是出现在哪儿了,出现在屏幕的底部。他能使用户能用手势或者使用鼠标操作程序。metro UI 重点是在主要的控件使用许多控件,使其用户使用win8电脑更加的方便。而appBar使其用户体验更好。在这节中,我将告诉你如何定义和填充app Bar。
在界面的顶部有一个类似的控件,叫做navbar。这使其程序中,能够互相导航。 至于如何创建 使用navbar ,我将在后续文章详细的介绍。
定义一个appBar
我将用最简单的方法创建一个AppBar.下面源代码就是创建一个appBar:
1 <Page2 x:Class="MetroGrocer.Pages.ListPage"3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"4 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"5 xmlns:local="using:MetroGrocer.Pages"6 xmlns:d="http://schemas.microsoft.com/expression/blend/2008"7 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"8 mc:Ignorable="d">9 <Grid Background="{StaticResource AppBackgroundColor}"> 10 <Grid.RowDefinitions> 11 <RowDefinition/> 12 <RowDefinition/> 13 </Grid.RowDefinitions> 14 <Grid.ColumnDefinitions> 15 <ColumnDefinition/> 16 <ColumnDefinition/> 17 </Grid.ColumnDefinitions> 18 <StackPanel Grid.RowSpan="2"> 19 <TextBlock Style="{StaticResource HeaderTextStyle}" Margin="10" 20 Text="Grocery List"/> 21 <ListView x:Name="groceryList" Grid.RowSpan="2" 22 ItemsSource="{Binding GroceryList}" 23 ItemTemplate="{StaticResource GroceryListItemTemplate}" 24 SelectionChanged="ListSelectionChanged" /> 25 </StackPanel> 26 <StackPanel Orientation="Vertical" Grid.Column="1"> 27 <TextBlock Style="{StaticResource HeaderTextStyle}" Margin="10" 28 Text="Item Detail"/> 29 <Frame x:Name="ItemDetailFrame"/> 30 </StackPanel> 31 <StackPanel Orientation="Vertical" Grid.Column="1" Grid.Row="1"> 32 <TextBlock Style="{StaticResource HeaderTextStyle}" Margin="10" 33 Text="Store Detail"/> 34 </StackPanel> 35 </Grid> 36 <!--一个appbar控件定义的源代码--> 37 <Page.BottomAppBar> 38 <AppBar> 39 <Grid> 40 <!--Column 的定义--> 41 <Grid.ColumnDefinitions> 42 <ColumnDefinition /> 43 <ColumnDefinition /> 44 </Grid.ColumnDefinitions> 45 <!--垂直的显示--> 46 <StackPanel Orientation="Horizontal" Grid.Column="0" 47 HorizontalAlignment="Left"> 48 <!--AppBar Button 控件 AppBarButtonClick 事件 --> 49 <Button x:Name="AppBarDoneButton" 50 Style="{StaticResource DoneAppBarButtonStyle}" 51 IsEnabled="false" 52 Click="AppBarButtonClick"/> 53 </StackPanel> 54 <StackPanel Orientation="Horizontal" Grid.Column="1" 55 HorizontalAlignment="Right"> 56 <Button x:Name="AppBarAddButton" 57 Style="{StaticResource AddAppBarButtonStyle}" 58 AutomationProperties.Name="New Item" 59 Click="AppBarButtonClick"/> 60 <Button x:Name="AppBarStoresButton" 61 Style="{StaticResource StoresAppBarButton}" 62 Click="AppBarButtonClick"/> 63 <Button x:Name="AppBarZipButton" 64 Style="{StaticResource HomeAppBarButtonStyle}" 65 AutomationProperties.Name="Zip Code" 66 Click="AppBarButtonClick"/> 67 </StackPanel> 68 </Grid> 69 </AppBar> 70 </Page.BottomAppBar> 71 </Page>
为了创建appBar,我不得不创建一个appBar控件。因此,这创造appbar及其内容和属性包含了bottom Bar.
你可以创建一个通过类似方法在底部创建一个NavBar.
appbar工具条包含buttons按钮,这么做的规定是有按钮, 当前选择的显示在appBar左边,无选择的项目显示在右边。(也就是说,在win8的Consumer Preview版本中,这个用户体验的原则不完全,这将会正式版本会改变这个用户体验的原则)。
接下来的篇幅,我将会在AppBar 控件中添加Grid布局控件。这个Grid控件有1行2列。每列有一个stackpanel。 在appBar添加Button有两种方法。你可以选择在standardstyles.xaml定义,或者直接添加。
如何添加appBarButton,我将会在下面的篇幅中介绍。
手把手玩转win8开发系列课程(14)相关推荐
- 手把手玩转win8开发系列课程(2)
对win8开发,上一节我们对win8进行了简单的介绍,这一节我们来瞧一瞧他的开发环境搭建. 前奏. 这里所讲的win8开发,主要是指Windows8 app store 上开发,及metro ui或叫 ...
- 手把手玩转win8开发系列课程(11)
运行程序 这节的议程,我觉得很简单--运行程序 在vs界面布局的页面都是静态,真正让项目运行起来才是动态的了.只有使其运行起来,这样xaml与C#合二为一,以一个真正的程序显示出来.你可以选择调试菜单 ...
- 手把手玩转win8开发系列课程(18)
这节,加入弹出对话框 弹出对话框 这个appBar button能起作用类额 ,他处理的源代码是直接放在Click event里面中.大多数的buttons操作更需要一些额外的用户体验,因此我们使用f ...
- 手把手玩转win8开发系列课程(22)
今天的议程,有三个①展示弹出对话框②创建更复杂的控件③并为复杂的控件赋值 (1)展示弹出对话框 上节,我们已经写好了这个对话框,并且已经引入了项目中去了,那我们就有必要展示了. 当用户点击了这个按钮以 ...
- 【预告】1月6日下午14:30 CLR开发系列课程(3):COM Interop基础 (Level 300)
1月6日下午14:30我将在MSDN中文网络广播中主讲.NET中COM和COM Interop的相关基础知识.有兴趣的朋友可以通过下面的链接登记并收听此次网络广播: 公共语言运行库(CLR)开发系列 ...
- 基于WebMatrix的轻量级Web开发系列课程
基于WebMatrix的轻量级Web开发系列课程(10): WebMatrix与ASP.NET MVC WebMatrix除了提供了默认的编程模型以外,也对ASP.NET MVC做出了很好的支持,但是 ...
- 浅析云平台底层架构 进行云原生应用开发 系列课程-薛海涛-专题视频课程
浅析云平台底层架构 进行云原生应用开发 系列课程-2892人已学习 课程介绍 如何依托Bluemix的PaaS服务,开发云原生应用,并深入的讲解cloudfoundry app生命周期 ...
- 循序渐进学.Net Core Web Api开发系列【14】:异常处理
循序渐进学.Net Core Web Api开发系列[14]:异常处理 参考文章: (1)循序渐进学.Net Core Web Api开发系列[14]:异常处理 (2)https://www.cnbl ...
- 云开发系列课程让你从入门到精通快速上手Serverless和云开发技术
简介:云开发系列课程主要介绍了从入门到精通快速上手Serverless和云开发技术.学习内容涵盖云开发协同.云函数.云数据库.多媒体托管.前后端一体化框架等Serverless Web开发必备知识.希 ...
最新文章
- 计算机考研逻辑学,管综专硕:走出不考逻辑学专业知识的误区
- php wget,Linux_Linux下载工具wget和axel简介,Wget 
Wget是一个十分常用命令 - phpStudy
- 【Python-ML】SKlearn库原型聚类KMeans
- Happy Matt Friends(HDU5119 + dp)
- C/C++预处理宏的总结
- 前端学习(3325):Mdn说闭包
- 【转】extern “C“以及__declspec(dllexport) 讲解和def文件dll导出方法
- 很详细的硬盘基础知识
- linux docker自动启动,linux – Cron作业不能在Docker容器内自动运行
- Azkaban流2.0
- 《MYSQL必知必会》—3~9.使用MySQL、检索数据列、排序检索数据列、过滤数据(WHERE子句、组合WHERE子句、通配符、正则表达式)
- 词法分析之LED文件批量生成
- 如何解决DMS的个人数据隐私问题?ToF技术路线在路上
- Python实现统一社会信用代码校验(GB32100-2015)
- 在Android上修改读取IMEI码的方法
- C: integer overflow,隐式类型转换/整数加法溢出 解决方法示例;check_add_overflow;__builtin_add_overflow
- TransE模型的python代码实现
- 融资150万,用户超过1500万,“护眼宝”要如何完成从工具到平台的转变?
- 飞蛾逐月优化算法(Matlab实现)
- 前端css 页面高斯模糊效果
热门文章
- Myeclipse中添加XFire插件支持
- 希尔排序java代码_希尔排序及希尔排序java代码
- python latex显示不出来_10 个加速Python数据分析的简单的小技巧
- ubuntu vscode_17. ubuntu设为服务器+vscode远程开发
- C++为什么空格无法输出_那些C/C++程序员该具备的32个编程修养习惯!
- python上传本地文件到远程hdfs_Python之——自动上传本地log文件到HDFS(基于Hadoop 2.5.2)...
- linux中更改用户密码_如何在Linux中更改用户密码
- 亚马逊CloudFront
- Python SciPy教程
- Java中的Collections类– java.util.Collections