windows phone (13) 样式继承

简介: 原文:windows phone (13) 样式继承 在上一遍文章中已经介绍到可以在Resources集合中定义样式,我们也可以在一个样式上引用其他的样式,这就是继承的概念,使用方法是将引用的样式放置在Style中的BaseOn属性;这里使用到的是xaml标记扩展进行设置,比如这里定义的三个样式...
原文: windows phone (13) 样式继承

 在上一遍文章中已经介绍到可以在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,也可以这么说样式的继承是越往上优先级越低;


 给大家贴两篇文章的链接,共勉:

 

 

 

 

 

 

目录
相关文章
|
Android开发 iOS开发 Windows
Windows Phone 寿终正寝了,这些经典机型你还记得吗?
不久前,随着最后一家WP手机厂商惠普宣布取消今后Windows Phone的研发计划,以及微软官方声明对WP8.1系统今后所有升级维护的终止,WP手机,作为曾经和安卓手机、苹果手机并驾齐驱的三大智能手机之一,正式寿终正寝。
1806 0
Windows Phone 寿终正寝了,这些经典机型你还记得吗?
|
XML 开发框架 前端开发
Windows Phone快速入门需掌握哪些能力
在此之前,先普及下Windows Phone的概念和开发工具的介绍。 Windows Phone是微软公司开发的手机操作系统,它将微软旗下的Xbox Live游戏、Xbox Music音乐与独特的视频体验集成至手机中。2012年6月21日,微软正式发布Windows Phone 8,采用和Windows 8相同的Windows NT内核,同时也针对市场的Windows Phone 7.5发布Windows Phone 7.8。
308 0
Windows Phone快速入门需掌握哪些能力
|
移动开发 Android开发 开发者
Windows Phone 8.1 新功能汇总 开发者预览版开放下载
在Build 2014大会上,微软正式发布了传闻已久的Windows Phone 8.1系统,所有的Windows Phone 8手机都可以升级,微软这次可谓是十分厚道。虽然并非迭代升级,但WP 8.1还是拥有很多重大更新,对于微软进一步完善移动平台拥有积极的意义。下面,就一起来了解一下WP 8.1的主要新特性。
352 0
Windows Phone 8.1 新功能汇总 开发者预览版开放下载
|
编解码 前端开发 JavaScript
Windows Phone 下开发 LBS 应用
基于位置的服务(Location Based Service,LBS),它是通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标),在GIS(Geographic Information System,地理信息系统)平台的支持下,为用户提供相应服务的一种增值业务。
352 0
windows窗口中控件的样式
windows窗口中控件的样式一.按钮样式 button BS_AUTO3STATE 创建一个与三态复选框相同的按钮,但该框在用户选择时更改其状态。状态循环通过检查,不确定和清除。 BS_AUTOCHECKBOX 创建一个与复选框相同的按钮,但每次用户选中复选框时,检查状态会自动在已选中和已清除之间切换。
1439 0