WPF的基础概念―依赖属性(一)

来源:互联网 时间:1970-01-01

先让我们再来回顾一下MSDN上的描述:

Windows Presentation Foundation (WPF) provides a set of services that can be used to extend the functionality of a common language runtime (CLR) property. Collectively, these services are typically referred to as the WPF property system. A property that is backed by the WPF property system is known as a dependency property.

上文也就是说WPF提供了一种统称为WPF属性系统的服务用于扩展CLR属性功能,被大家熟知的依赖项属性也就是依赖属性就是被WPF属性系统所支持的一种属性。

好吧,我承认我没看懂,这到底是神马东东,和原本我一直使用的属性有什么不同呢?

原来对属性的定义像这样

public class file

{       private string _filename;       
    public string filename
    {   
       get
       {  
          return _filename;  
       }  
       set
       { 
          _filename = value; 
       } 
    }
}

 

这样使用

file logfile;
logfile.filename="";

既然扩展了CLR属性的功能,那么它的出现必然是能实现原本属性不能实现的功能,这也是它之所以存在的原因,让我们再来看MSDN里的一句话:

One of the primary architectural philosophies used in building WPF was a preference for properties over methods or events. Properties are declarative and allow you to more easily specify intent instead of action. This also supported a model driven, or data driven, system for displaying user interface content. This philosophy had the intended effect of creating more properties that you could bind to, in order to better control the behavior of an application.

也就是WPF的设计思想侧重属性优于方法和事件,而现实情况是我对事件和代表的使用是如此频繁,突然叫我不用方法和事件单单只使用属性的话老实说我一下还真转不过弯来,那么它的设计思路的产生原因是什么呢?它有什么优点能完美实现原本需要方法和事件才能实现的功能呢?这才是促使我使用它的动力

本文来自waxgourd0的博客,原文地址:http://blog.csdn.net/waxgourd0/archive/2011/06/21/6559839.aspx


相关阅读:
Top