依赖属性的理解

依赖属性,对于C++程序员来说是个新的名词。那么,它为什么这么称谓,它有什么作用,下面将进行说明?
比如说MFC里面的按钮,它的颜色可以通过WM_COLORCTL消息绘制而来。它不是通过属性来设置,而是代码绘制。然而WPF可以,它只需要设置background属性就可以了。它的background属性就是依赖属性。但是,MFC里面的按钮名称,也可以直接设置属性就可以了。那么这个属性是不是也相当于WPF里面的依赖属性呢?举个例子,在WPF里面,我们要想改变一个按钮btnBg的背景颜色,可以直接设置其btnBg.background属性为“RED”,这样就是那种标准的红色,但是,也可以通过另外的方式来改变,比如让btnBg.background=“{Binding ElementName=textblock, Path=Text}”,假设textblock.text="black",那么按钮btnBg的背景色就变成了黑色。这时,我们改变textblock.text="blue",那么会出现什么情况呢?btnBg的背景颜色也变成了蓝色。也就是说依赖属性传递变更通知机制,就可以让对象的属性和行为联接起来,不需要进行绘制本身的代码编写。另外,子元素可以沿袭父元素的颜色,或设置backgroud属性来改变背景色,甚至可以直接设置渐变颜色。而这种能够传递变更通知的属性,就是依赖属性。这样的属性提供更大的灵活性,通过设置这些依赖属性,使得界面的操作更加便捷。也就是说,正是由于依赖属性这种传递变更通知的能力,使得WPF的功能体现出来。所有的图形的变换、效果的更改,都是作用在对象的依赖属性上。所以,也有这种说法:依赖属性是WPF的核心概念。

你可能感兴趣的:(依赖属性的理解)