设为首页 收藏本站
查看: 1004|回复: 0

手把手玩转win8开发系列课程(9)

[复制链接]

尚未签到

发表于 2015-5-21 06:23:34 | 显示全部楼层 |阅读模式
  书接上文,继续议程
  添加资源字典
  在第一节,我说过怎么在StandardStyles.xaml中定义metro app的模板和样式。比起那些直接在UI控件上设置颜色、字体等等的属性,这个运用样式,的确是一个不错的选择。由于本项目中运用的样式确实是很多。因此我创建了一个叫做Resources的文件夹了,并且在这个文件夹下又创建了一个GrocerResourceDictionary.xaml的文件,在这个文件下,定义资源的模板。相应的源代码如下:



1
5   
6   
7     
8   
9     
10  
11     
12   
14      
15     
16     
17     
18      
19     
20      
21     
22     
23   
24   
25      
26  
27      
28      
30      
32      
34     
35   
36
  这个项目所有的样式和模板并没有都展示出来, 因为有些模板和样式会在后续的篇幅中陆陆续续的展示,以下是最简单的样式的声明:



1
2
  metro app  默认的色调是黑底白字,这是我接受不了的。由此,我把文字的颜色定义成其他的颜色了,在配上绿色背景的颜色。在后续的页面的布局上我是肯定能够使用这样的样式的。
  因此,下列包含了上述意思的一个简单的样式,就被定义成了一个复合属性:



1
2
4
5   
6   
7
8   
9   
10     
11   
12
  在这个叫作GroceryListItem的样式表中,定义许许多多的属性:文本的尺寸,文本的加粗方式等等。但是,你要看到一点,他的很多样式是来自其他已经声明好的样,这样继承其他样式表的属性,你看到没有,我引用的BasicTextStyle样式是来自于StandardStyles文件。我们应该这样引用于外部样式表,源代码就是如下所示:



1
2
3   
4
  这么做可以引用许许多多的文件,但是,你必须在头部引用。
  The final declaration is for a data template, with which I can define a hierarchy of elements that will be used
to represent each item in a data source. As you might guess, my source of data will be the collection of grocery
items in the view model. Each item in the collection will be represented by a StackPanel that contains three
TextBlock controls. Notice the two attributes marked in bold:
  最后定义是一个数据模板,我定义的这种层次元素的模型是代表数据源。也许,你会感到疑问了,我的数据源不是通过viewmodel存储吗,这某某的一项在ui界面上就是用一个stackpanel和三个文本框代表吗。三个属性加粗显示了:



1
2
3   
4  
5      
6      
8      
9     
11        
12   
14   
15
  文本的值非常非常的重要,绑定关键字是告诉其运行时读取数据中的那个属性。在前一部分,我这么说过,如果我想设置某个的属性的话,可以再其源代码的文件中进行设置。其实,在其相应的xaml的文件中,我也能够在其运行时设置,告诉其运行那个属性。
  另外的一些属性虽然不是很有趣,也非常的有用,我不想做太多的赘述。对于绑定样式,我用了StaticResource关键字、这个关键字的作用就是绑定了已经定义好的样式。这样的好处在哪里了,好处就是在于这个样式能够在不同的地方进行了复用。定义好这个自定义的样式了,就是是app.xaml引用使其成为app的一部分,对其他页面起效。相应的源代码如下所示:



1
6   
7     
8      

9         
10     
11         
12     
13   
14
  对这个样式,我还重申一下,我没有全部简述,在后续的内容中,没运用一个样式以后,我就会继续讲述。
  这个资源字典的部分讲解完了,怎么样,下文在进行以下议程。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-68948-1-1.html 上篇帖子: win8 app Stream 转成IRandomAccessStream 下篇帖子: 手把手玩转win8开发系列课程(7)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表