WPF 依赖属性的创建与使用

 WPF 中最大的亮点当属 Binding 了,.NET 给我们提供了足够多的属性来让我们非常方便地进行数据绑定等操作。但即使如此,依然会有想编写自己的属性来进行 Binding 等操作。


在 WPF 中,微软将属性的概念延伸了一下,推出了“依赖属性”这个概念。所谓依赖属性,就是自己本身没有值而值是依赖别人的值。

 为什么要使用依赖属性呢?举个例子,一个 TextBlock 有上百个属性,但是基本上我们常用的就是 Text 属性,当你在使用构造函数创建这个 TextBlock 的时候,这个实例的控件就已经被定下来了,随之而来的是大量不必要的空间浪费。而依赖属性,依赖别人的值而设定自己的值,这节省了大量不必要的空间浪费,而且可以方便的进行数据绑定,所以我们才要用依赖属性。


如何创建一个依赖属性呢?代码如下:


public static readonly DependencyProperty ContentProperty = DependencyProperty.Register("Content", typeof(string), typeof(Test));

首先依赖属性的访问权限可以是 public 或者 private 和 protected,但是如果是 private 或者 protected 的话,要想让外界访问,就需要给这个依赖属性添加一个 public 的属性访问器以暴露这个依赖属性,稍后会介绍如何给该依赖属性绑定一个 CLR 属性,当然你也可以自己写一个 CLR 属性来封装该依赖属性的值,但这样做会影响我们使用 Binding 等功能。


而 static 和 readonly 是必须的,所以即使你创建了一百个依赖对象,也仅占一个空间,当然这可能有点难以理解,静态的和只读的与我们正常使用依赖属性的情况完全不符,不过你可以暂时或略这里,这样写的原因不是本文想要讲的,我会在之后的博客里讲为什么这样写。


然后是 DependencyProperty ,这是依赖属性类,所以后面的 ContentProperty 就是这个对象了。这里有一个命名规则,就是依赖属性的对象名都已  Peoperty 结尾,这样就表明他是一个依赖属性,方便他人阅读和理

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值