如何使用资源和样式调整控件外观
首先我们看一段xaml代码
1 <TextBlock x:Name="ApplicationTitle" Text="BlendPro" Style="{StaticResource PhoneTextNormalStyle}"/>
在这里你可能注意带花括号设置了TextBlock的Style属性.这就意味着表达式在运行时进行了计算,属性被设置为计算后的值.本段xaml使用名为PhoneTextNormalStyle的StaticResource来设置Style属性.
而加载XAML时, StaticResource的解析是通过沿XAML树查找所有资源字典中的资源来完成的.如果在当前页面的任何位置都找不到时,则会查找位于App.xaml文件中的应用程序范围的资源字典.
资源字典仅是一个对象的集合,在应用程序中可以重复使用.在下面的代码片段中,可以看到两个在应用程序范围资源字典中定义资源:Color以及SolidColorBrush.每个XAML元素的x:key特性都声明了一个从代码中访问资源时所需的键.你还会注意到SolidColorBrush资源时间上引用了Color资源.这时资源的顺序很重要.如果先定义SolidColorBrush资源,当解析器定位时就会抛出一个未找到资源的异常.
1 <phone:PhoneApplicationPage.Resources> 2 <Color x:Key="ButtonBackColor"> 3 #FFFF5C5C 4 </Color> 5 <SolidColorBrush x:Key="ButtonBackBrush" Color="{StaticResource ButtonBackColor}"/> 6 </phone:PhoneApplicationPage.Resources>
接着我们在来看一段XAML片段
1 <phone:PhoneApplicationPage.Resources> 2 <Style x:Key="MyBaseStyle" TargetType="TextBlock"> 3 <Setter Property="Foreground" Value="{StaticResource PhoneFontFamilySemiLight}"/> 4 <Setter Property="FontSize" Value="{StaticResource PhoneFontSizeLarge}"/> 5 </Style> 6 <Style x:Key="MyTextBlockStyle" TargetType="TextBlock" BasedOn="{StaticResource MyBaseStyle}"> 7 <Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/> 8 </Style> 9 </phone:PhoneApplicationPage.Resources>
你会注意到其中定义了一个TargetType特性,它用来确定可以应用该Style的控件类型.在本片段中被定义为应用所有TextBlock控件. Style还可以继承其他的Style.上面片段中使用BasedOn属性继承了名为MyBaseStyle的Style,得到MyBaseStyle中Foreground和FontSize并使用自己定义的Foreground覆盖父类属性.
转载于:https://www.cnblogs.com/qq278360339/archive/2012/05/17/2506960.html
如何使用资源和样式调整控件外观相关推荐
- wpf教程-metro扁平化样式UI控件库推荐:MahApps.Metro
wpf虽然做出来的ui效果已经很好了,但是还是会有很多客户要求在完善.不如在win8出来后,很多用户就喜欢metro的样式. 今天给大家推荐metro扁平化样式UI控件库:MahApps.Metro ...
- Windows Phone开发(16):样式和控件模板
在前面资源一文中也提过样式,样式就如同我们做HTML页排版时常用到的CSS样式表,它是对于特定娄型的可视化元素,应该可以直接说是针对控件的一种可重用的属性设置列表,这样对于需要设置相同属性值的同类型的 ...
- Windows Phone开发(16):样式和控件模板 转:http://blog.csdn.net/tcjiaan/article/details/7367260...
在前面资源一文中也提过样式,样式就如同我们做HTML页排版时常用到的CSS样式表,它是对于特定娄型的可视化元素,应该可以直接说是针对控件的一种可重用的属性设置列表,这样对于需要设置相同属性值的同类型的 ...
- Silverlight 属性样式、控件模板、视觉状态
在使用Silverlight的样式的时候感觉非常好,以前在HTML上很难实现的效果在这里都变的如此简单. 属性样式 控件的属性样式好比CSS的Class功能定义,是用来统一定义和维护控件属性的方式,控 ...
- 非存储过程分页- 前台分页样式和控件
非存储过程分页- 前台分页样式和控件 一. DAL /// ///分页sql /// public DataTable GetUserAndError(int pageSize, int page ...
- 在vc2005中使用MoveWindow()调整控件大小,不能及时刷新,在vc6中则可以
在vc2005中使用MoveWindow()调整控件大小,不能及时刷新,在vc6中则可以? // ------------------------------ vc2005 ------------- ...
- 组件开发之ASP.NET中集成资源文件的服务器端控件开发
一个ASP.net中的控件,往往要使用到一些图片.CSS和脚本JS文件等等,如果要求用户把这些资源文件自己复制到网站目录中,往往让人感觉很麻烦很不专业.如果能够在控件中包含这些资源,能够自动引用,不单 ...
- 在 Visual Basic 6 中让用户在运行时移动和调整控件大小
标题 在 Visual Basic 6 中让用户在运行时移动和调整控件大小 描述 此示例说明如何让用户在 Visual Basic 6 中在运行时移动控件和调整控件大小. 关键词 拖动.移动.调整 ...
- windows常见窗口样式和控件风格以及类样式
Windows常见窗口样式和控件风格 王佰营 徐丽红 一.窗口样式 WS_POPUP 弹出式窗口(不能与WS_CHILDWINDOW样式同时使用) WS_CHILDWINDOW 子窗口(不能与WS_P ...
最新文章
- Tricks(四十九)—— 按 batch 访问越界的解决办法
- Go加密解密之DES
- MKNetWorkKit打印URL
- GCN代码超详解析Two-stream adaptive graph convolutional network for Skeleton-Based Action Recognition(三)
- 成功解决tensorflow\contrib\learn\python\learn\datasets\base._internal_retry.locals.wrap.locals.wrapp
- nodejs redis 过期时间_别在为Redis面试而烦恼了?看完暴答【面试管】
- java代码着色_给java代码着色源码
- 玩转 SpringBoot 2 快速整合 Filter 注解版
- 微软9月补丁星期二值得关注的0day、终于落幕的 PrintNightmare及其它
- 图片没有.png或者jpg后缀能不能加载?
- WinForm开发知识汇总
- 用国家简写查找对应的国家名称和所在 洲
- ZooKeeper典型应用场景
- 编程人员的不二之选 LEGION Y9000X正式发布
- bzoj2037 Sue的小球(区间dp,考虑到对未来的贡献)
- android手机rom物理存储器,手机ROM/RAM的区别
- 手机app支付宝支付和苹果支付分析
- iOS 聊天表情键盘
- [转] Attach、Detach和DeleteObject
- 资料 | 美图区域链白皮书(附PDF链接)