windows phone (13) 样式继承
来源:互联网 发布:晚清民国期刊数据库 编辑:程序博客网 时间:2024/06/16 05:06
在上一遍文章中已经介绍到可以在Resources集合中定义样式,我们也可以在一个样式上引用其他的样式,这就是继承的概念,使用方法是将引用的样式放置在Style中的BaseOn属性;这里使用到的是xaml标记扩展进行设置,比如这里定义的三个样式:
<phone:PhoneApplicationPage.Resources> <Style x:Key="tbStyle" TargetType="TextBlock"> <Setter Property="HorizontalAlignment" Value="Center"></Setter> <Setter Property="HorizontalAlignment" Value="Center"></Setter> <Setter Property="Foreground"> <Setter.Value> <LinearGradientBrush> <GradientStop Offset="0.2" Color="Brown"></GradientStop> <GradientStop Offset="0.7" Color="DarkBlue"></GradientStop> </LinearGradientBrush> </Setter.Value> </Setter> </Style> <Style x:Key="fStyle" TargetType="TextBlock"> <Setter Property="VerticalAlignment" Value="Bottom"></Setter> </Style> <Style x:Key="tStyle" TargetType="TextBlock" BasedOn="{StaticResource tbStyle}"> <Setter Property="VerticalAlignment" Value="Top"></Setter> </Style> </phone:PhoneApplicationPage.Resources>从上面代码中我们可以看到第三个样式继承了第一个样式,然后第一个样式中我们定义的垂直方向的位置,第三个也定义了垂直方向的位置,然后我们从textblock中使用第三个样式
<TextBlock x:Name="tbContent" Text="显示样式" Style="{StaticResource tStyle}" />
效果如下:
这说明第三个样式中的属性覆盖了第一个样式中的相同的属性 ;需要注意的是,上面三个样式是有先后顺序的,即下面的可以继承上面的,但是上面的不能继承下面的,系统会提示警告,找不到你要继承的样式;那么如果这三个样式中的样式进行级联继承会出现什么情况那:代码如下:
<phone:PhoneApplicationPage.Resources> <Style x:Key="tbStyle" TargetType="TextBlock"> <Setter Property="HorizontalAlignment" Value="Center"></Setter> <Setter Property="HorizontalAlignment" Value="Center"></Setter> <Setter Property="Foreground"> <Setter.Value> <LinearGradientBrush> <GradientStop Offset="0.2" Color="Brown"></GradientStop> <GradientStop Offset="0.7" Color="DarkBlue"></GradientStop> </LinearGradientBrush> </Setter.Value> </Setter> </Style> <Style x:Key="tStyle" TargetType="TextBlock" BasedOn="{StaticResource tbStyle}"> <Setter Property="VerticalAlignment" Value="Top"></Setter> <Setter Property="HorizontalAlignment" Value="Left"></Setter> </Style> <Style x:Key="fStyle" TargetType="TextBlock" BasedOn="{StaticResource tStyle}"> <Setter Property="VerticalAlignment" Value="Bottom"></Setter> </Style> </phone:PhoneApplicationPage.Resources>然后textblock使用第三个样式
<TextBlock x:Name="tbContent" Text="显示样式" Style="{StaticResource fStyle}" />
效果就是这样子了
所以我们可以这样总结,定义三个或更多个样式,如A,B,C 如果B继承A,C继承B,那么优先级是C>B>A,也可以这么说样式的继承是越往上优先级越低;
给大家贴两篇文章的链接,共勉:
WP7开发学习(4):Style样式的四种使用----在wp中对样式的总结
WP7开发学习(4):Style样式的四种使用----在wp中对样式的总结
WPF中的依赖项属性----依赖项属性终于明白了
- windows phone (13) 样式继承
- windows phone (12) 小试自定义样式
- Windows phone 7之样式与模板
- Windows phone 7中的图像控件、资源和样式
- Windows Phone开发(16):样式和控件模板
- Windows Phone开发(16):样式和控件模板
- 学习笔记:windows phone 学习之 style(样式)
- Windows Phone Style样式的四种使用
- windows phone
- Windows phone
- 样式继承
- 创建自定义Windows phone 7样式(二)-mango下的实现
- Windows Phone 7开发学习(4):Style样式的四种使用
- [Windows Phone] Windows Phone开发环境搭建
- windows phone:Windows Phone 的数据
- windows phone 测试
- Windows Phone - 商务应用
- Windows Phone 7 学习
- Flex HTTPService初探(Flex跟JAVA等后台沟通的桥梁)
- Java程序员从笨鸟到菜鸟之(三十一)大话设计模式之设计模式遵循的七大原则
- 24个最受欢迎的jQuery画廊和幻灯片插件
- 软件测试代码1
- dede 调用自定义字段方法
- windows phone (13) 样式继承
- asp.net(C#)海量数据表高效率分页算法(易懂,不使用存储过程)
- C语言的预处理命令总结
- 设计模式之工厂模式(一)
- ADO.NET通用数据库操作类
- 利用Preferences类记录界面的位置和大小
- 三诵 三十二身分
- Android 通过代理程序抓取请求数据
- 自定义标签的属性 rtexprvalue