感觉自我表述能力有欠缺,技术也不够硬,所以之后的Windows8应用开发学习札记的文章就偏向于一些我认为较难的地方和重点了多有抱歉。

  上节课是入门,这节课就已经开始进行视图设计了。

  Windows应用的三种常用的数据展示控件:FlipView、ListView和 GridView。

  FlipView是用来显示集合数据的控件,用户可以点击上/下或者左/右按钮实现子窗口间的切换。

  值得一提的是包括后面要介绍的两个控件,这三个均继承自ItemsControl类。但需要注意的是:不要使用FlipView来呈现大型的集合。

  ListView最大的特点是纵向显示数据,故切换到Snap View时一般都用该控件显示。

  GridView则用来横向显示数据。

  

  首先,大家先新建一个项目(在C#中找到Windows应用商店,然后选择GridView控件模版新建),然后在出现的界面中介绍下解决方案管理器中各文件的作用:

  Properties 默认包含:AssemblyInfo.cs(集合信息类)
  References 默认包含:.NET for Windows Store apps和 Windows两个命名空间 Assets Logo.png(大图标)、SmaIILLogo.png(小图 标)、SplashScreen.png(初始屏幕图)、 StoreLogo(用于Windows商店图标)

  Common 默认包含:StandardStyles.xaml(包含XAML样 式)

  App.xaml 应用中全局资源的处理
  App1_Temporar yKey.pfx 项目源证书文件
  MainPage.xaml 默认应用启动主页面
  Package.appxm anifest 用于描述Windows应用包,应用清单文件

  练习一:通过ItemTemplate来调整图标大小。

  提示:打开public GroupedItemsPage.xaml查找ItemsTemplate发现如下代码:

 ItemTemplate="{StaticResource Standard250x250ItemTemplate}"

  通过复制Standard250x250ItemTemplate在StandardStyles中找到如下代码:

   <DataTemplate x:Key="Standard250x250ItemTemplate">
<Grid HorizontalAlignment="Left" Width="2" Height="2">
<Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}">
<Image Source="{Binding Image}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/>
</Border>
<StackPanel VerticalAlignment="Bottom" Background="{StaticResource ListViewItemOverlayBackgroundThemeBrush}">
<TextBlock Text="{Binding Title}" Foreground="{StaticResource ListViewItemOverlayForegroundThemeBrush}" Style="{StaticResource TitleTextStyle}" Height="" Margin="15,0,15,0"/>
<TextBlock Text="{Binding Subtitle}" Foreground="{StaticResource ListViewItemOverlaySecondaryForegroundThemeBrush}" Style="{StaticResource CaptionTextStyle}" TextWrapping="NoWrap" Margin="15,0,15,10"/>
</StackPanel>
</Grid>
</DataTemplate>

  即可通过修改Width和Height来改变应用界面的图标大小。

    

  练习二:图标默认为先排竖行再排横行,尝试着修改排列顺序。

  

  提示:在GroupedItemsPage.xaml中搜索GroupStyle.Panel,得到如下代码:

<GroupStyle.Panel>
<ItemsPanelTemplate>
<VariableSizedWrapGrid Orientation="Vertical" Margin="0,0,80,0"/>
</ItemsPanelTemplate>
5 </GroupStyle.Panel>

  其中Orientation即表示排列方式,修改即可。以下为一种方案:

<GroupStyle.Panel>
<ItemsPanelTemplate>
<VariableSizedWrapGrid Orientation="Horizontal" Margin="0,0,80,0"/>
</ItemsPanelTemplate>
5 </GroupStyle.Panel>

  

  

  练习三:修改应用界面应用名称

  提示:在App.xaml中找到如下代码并把DailyExercise20130827改为自己想要的名字即可。

 <x:String x:Key="AppName">DailyExercise20130827</x:String>

  练习四:修改图标图片、背景图片等操作

  提示:图片文件均存在Assets中。

  我的代码(仅提供参考):在App.xaml中添加如下第三行代码

             <x:String x:Key="AppName">Enjoy Yourself</x:String>

             <ImageBrush x:Key="GridImageBrush" ImageSource="/Assets/beijing.jpg" />

  然后到GroupedItemsPage.xaml中在Grid Style中添加Background="{StaticResource GridImageBrush}即可。

  练习五:修改默认图标

  提示:在Package.appxmanifest中设置。

Copyright ©2013 BITED.All rights reserved.

  

BITED-Windows8应用开发学习札记之二:Win8应用常用视图设计的更多相关文章

  1. BITED-Windows8应用开发学习札记之一:Win8应用开发入门

    基于WinRT的Metro应用是我对Windows8的第一印象,简洁方块配以简单色调真的有沁人心脾的美感. 非常幸运,BITED在这个暑假的这个小学期里有幸学习到一门课程:软件工程基础实践,老师邀请了 ...

  2. Java开发学习心得(二):Mybatis和Url路由

    目录 Java开发学习心得(二):Mybatis和Url路由 1.3 Mybatis 2 URL路由 2.1 @RequestMapping 2.2 @PathVariable 2.3 不同的请求类型 ...

  3. iOS 11开发教程(十二)iOS11应用视图始祖——UIView

    iOS 11开发教程(十二)iOS11应用视图始祖——UIView 在Swift中,NSObject是所有类的根类.同样在UIKit框架(UIKit框架为iOS应用程序提供界面对象和控制器)中,也存在 ...

  4. BITED-Windows8应用开发学习札记之四:如何在Win8 应用中实现语义缩放

    语意缩放的意义在于:创新的语意缩放外观,让你的应用随时展现信息可视化的力量.如图表般的Tile,随着数据的不同而变化,让你的页面更富节奏.而所谓的语意缩放就是通过上下文的跳转,帮助我们实现一种更快更便 ...

  5. Dynamic CRM 2013学习笔记(二十九)报表设计:reporting service 报表开发常见问题

    在报表开发过程中,经常会遇到各种各样的问题,比如The report cannot be displayed. (rsProcessingAborted),一点有意义的提示都没有:再就是分页问题,经常 ...

  6. android移动开发学习笔记(二)神奇的Web API

    本次分两个大方向去讲解Web Api,1.如何实现Web Api?2.如何Android端如何调用Web Api?对于Web Api是什么?有什么优缺点?为什么用WebApi而不用Webservice ...

  7. SQL菜鸟学习札记(二)

    五月份一直在写SQL,之后写了一个期末大作业的项目,现在才有时间把之前遇到的各种奇怪的问题整理出来.下一部分札记应该是大作业中使用到的SQL的整理. 一.UPDATE SET语句后面可以并列赋值. 之 ...

  8. Java开发学习(三十二)----Maven多环境配置切换与跳过测试的三种方式

    一.多环境开发 我们平常都是在自己的开发环境进行开发, 当开发完成后,需要把开发的功能部署到测试环境供测试人员进行测试使用, 等测试人员测试通过后,我们会将项目部署到生成环境上线使用. 这个时候就有一 ...

  9. Android开发学习之路-二维码学习

    这个月装逼有点少了,为什么呢,因为去考软件射鸡师了,快到儿童节了,赶紧写篇博纪念一下逝去的青春,唔,请忽略这句话. 二维码其实有很多种,但是我们常见的微信使用的是一种叫做QRCode的二维码,像下面这 ...

随机推荐

  1. 【Tech】Cassandra安装和启动

    1.安装 jre,配置系统环境变量: 2.安装python,配置环境变量: 3.下载cassandra,http://cassandra.apache.org/download/: 4.解压,这里我没 ...

  2. openwrt(路由器)的源码地址

    https://dev.openwrt.org/wiki/GetSource 路由器的源码地址

  3. Java面试汇总

    转自:http://zy19982004.iteye.com/blog/1846537#comments 一.All 最近找工作,遇到的笔试面试题,归纳如下,供大家参考. 二.J2SE 容器 Hash ...

  4. mtk Android 编译命令自定义--添加版本号

    1. alps\build\core\Makefile文件:(参照CUSTOM_BUILD_VERNO) ifeq "" "$(SURPLUS_BUILD_VERNO)& ...

  5. Hosting Your Own NuGet Feeds

    Hosting Your Own NuGet Feeds Hosting the NuGet Gallery Locally in IIS https://github.com/NuGet/NuGet ...

  6. [HDOJ2196]Computer (树直径, 树DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2196 给一棵树,求树上各点到某点的距离中最长的距离.注意每个点都要求. 和普通求树的直径不一样,要求每 ...

  7. Codeforces Round #272 (Div. 2) C. Dreamoon and Sums (数学 思维)

    题目链接 这个题取模的时候挺坑的!!! 题意:div(x , b) / mod(x , b) = k( 1 <= k <= a).求x的和 分析: 我们知道mod(x % b)的取值范围为 ...

  8. 【C#学习笔记】改变颜色

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  9. 【英语】Bingo口语笔记(43) - u长短音

  10. mips-linux-gnu-gcc

    (1) -lz -lrt -lm -lc都是什么库 libzlibrtlibmlibc然后google之压缩库(Z)实时库(real time)数学库(math)标准C库(C lib) 可以进入/li ...