none
在使用.net开发时,依赖属性是否可以取代CLR属性? RRS feed

  • 问题

  • 最近学习WPF,发现很多地方都用到了依赖属性。我遇到不少问题,在MSDN上寻求帮助,大神们给出的示例代码基本上也都是使用了依赖属性。

    我对依赖属性的了解程度在:知道依赖属性怎么用,大致看过一遍依赖属性的内部实现的介绍,但是不知道应该如何正确地发挥依赖属性的作用。

    比如:

    问题一:如果自己要写一个Student类,只需要存放一些数据。按照以前用C++的习惯,那定义几个字段就好了。转到C#,多了CLR属性,那么可以选择为这些字段提供属性包装。再到WPF,多了依赖属性,我可以把CLR属性全部换成依赖属性,相比于全用CLR属性,各有什么利弊(包括运行的性能)?

    问题二:我看有人讨论说,在WPF中用好了依赖属性,就不会想要再去用CLR属性,说的应该就是依赖属性比CLR有更大的(??)优势(除了各种绑定的优势外,还有什么优势?)。那是不是在WPF中自定义的类都可以直接或者间接派生自DependencyObject以获得更大的(??)优势?

    问题三:因为我对WPF也就是初学阶段,所以想请教下有没有WPF从业者可以讲下依赖属性在实际开发中处于什么地位?以及依赖属性的运用范围有多大、是不是像前面所说的能够完全取代CLR属性?如果不能取代,那什么时候用CLR属性,什么时候用依赖属性?

    非常感谢。

    2015年7月19日 2:58

答案

全部回复