WPF中的Style——出自《IT168》

Style是一种修改属性值是方法。我们可以将其理解为对属性值的批处理。对批处理大家应该不会感到默认。对,通过Style我们可以批量修改属性的值。先从一个简单的Style例子开始:

第一感觉你可能会奇怪,为什么 Style 在资源里呢?我个人直接将其理解为 批处理 的缘故。因此 Style 是修改多个对象的属性值,它不从属于单独的元素 对象。另一个疑惑的问题是 Style 没有设置 x:Key 属性。这是一个非常关键的设置。如果我们设置了 Style x:Key 属性,相当于在当前 Window 是资源中定义了一个名称为 x:Key 设定值的 Style 对象。记住定义的效果相当于对象。如果没有设置 x;Key ,那么这个 Style 将对属 于这个 Window 中所有 CheckBox 生效。这就起到了批处理的效果。

   
首先设定的是 Style TargetType 属性,它表示我们希望修改的目标类型。然后定义一个 Setters 的集合。每个 Setter 都表示修改的一 个属性或者事件。 Property 设置属性名称, Value 设置属性值。 Event 设置事件名称, Handler 设置事件的响应函数名称。只要你在 Resource 做了类似的定义,在此 Window 中所使用的任何 ChekcBox 都会默认这些属性值。是不是很方便呢?我们在此定义一次,可以节省很多 代码。

   
也许你还会问:这样的统一修改属性太武断、霸道了吧!也许是的。我们只修改部分 Element 的属性值,而希望对某些特殊的 Element 做特殊处理。这样的需求 WPF 当然也是支持的。看看下面的代码:

WPF 通过 BasedOn 对这种特殊的 Style 提供了支持。很明显, BasedOn 的意思是我们当前的 Style 基于在资源的 CheckBox 。这里又看到了 x;Key 扩展标记。因为我们需要的是一个特例,一个特殊的 Style 对象。为了以后引用这个 Style ,我们需要 x:Key 的标识作用。其它的代码与前面类似。

   
定义后,引用这个特殊 Style CheckBox 的代码是这样的:

 

你已经看到,我们在 CheckBox 中指定了 Style 属性,并引用前面的 StaticResource 标记。

 

  这个很好懂

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值