WPF附加和依赖属性
开发工具与关键技术:Visual Studio 2015
作者:邓李庆
撰写时间:2019年6月5日
下面给大家讲附加属性和依赖属性,附加属性作用于支持附加属性的父元素产生作用,支持附加属性的元素会继承所在的父元素的属性。附加属性的格式:AttachedPropertyProvider.PropertyName;见代码图1:
图1
依赖属性:英文名称:(Dependency Properties);依赖属性和CRL属性类似,提供一个实例级私有字段的访问封装,通过GetValue和SetValue访问器实现属性的读写现属性的读写操作。最重要一个特点是属性值依赖于一个或者多个数据源,提供这些数据源的方式也可以不同,由于依赖多数据源的缘故,故称之为依赖属性;人来属性就是一种自己可以没有值,并且可以通过绑定从其他数据源获取值,依赖属性可支持WPF中的样式设置、数据绑定、继承。动画及默认值。属性的场景:希望可在样式中设置属性。希望属性支持数据绑定。希望可使用动态资源引用设置属性。希望从元素树中的父元素自动继承属性值。希望属性可进行动画处理、WPF 进程也使用的元数据约定,例如报告更改属性值时是否要求布局系统重新编写元素的可视化对象;只要依赖属性的值发生改变,WPF就会自动根据属性的元数据触发一系列的动作,这些动作可以重新呈现UI元素,也可以更新当前的布局,刷新数据绑定等等,这种变更的通知最有趣的特点之一就是属性触发器,它可以在属性值改变的时候,执行一系列自定义的动作,而不需要更改任何其他的代码来实现。当鼠标移动到Button按钮上面时,文字的前景色变为红色,离开时变默认颜色黑色,使用依赖属性实现,XAML界面代码见图:
依赖属性可以通过多种不同类型的数据源进行赋值,不同赋值顺序影响属性值的改变;