博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1. 依赖项属性 简单理解
阅读量:6823 次
发布时间:2019-06-26

本文共 1071 字,大约阅读时间需要 3 分钟。

依赖项属性 简单理解

2018/1/3 15:36:07


dependency property 的简单理解(略去大部头理解)

依赖项属性

依赖项属性的值不是简单的封装字段,而是根据其他的输入值来决定本属性的值。为什么要这样做?因为在WPF体系中,只有定义属性为依赖项属性,这个属性才支持样式设置,数据绑定,继承,动画和默认值。

两个关键行为:更改通知和动态值识别。
简言之,依赖属性就是一种可以自己没有值,并能通过Binding从数据源获得值(依赖在别人身上)的属性。拥有依赖属性的对象被称为“依赖对象”。

wpf使用依赖项属性的方式

当属性发生变化时,依赖项属性不会自动引发事件以通知属性值发生了变化。会触发受保护名为OnPropertyChangedCallback()的方法。该方法通过两个wpf服务(数据绑定和触发器)传递信息,并调用PropertyChangedCallback回调函数(如果已经定义了此函数)。

即:当属性发生变化时,如果希望进行响应,则有两种选择:1.使用属性值创建绑定 2.编写能够自动改变其他属性或开始动画的触发器。
(省略了大部头细节)

附加属性

附加属性(Attached Properties)就是说,一个属性本来不属于某个对象,但由于某种需求而被后来附加上。例如:Button控件本身没有Grid.Row属性,但是将Button放在Grid布局里面,就可以用这个属性来设置Button的位置。类似的,放在Canvas里面,可以附加属性Canvas.Top;放在DockPanel里,可以使用DockPanel.Dock。

附加属性也可以使用Binding依赖在其他对象的数据上。例如:用两个slider控制矩形在Canvas中的横纵坐标。

结果如图:

IeIWemV.png

KSc6ZNA.png

posted on
2018-01-03 13:57 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/wsnanxixi/p/8183449.html

你可能感兴趣的文章
安装 Express
查看>>
博客模板
查看>>
iOS开发之都兴忱小结
查看>>
TableLayout(表格布局)
查看>>
PAT1007
查看>>
hdu 5755(高斯消元——模线性方程组模板)
查看>>
2016阿里安全峰会重点资料下载
查看>>
B窗体继承于A窗体,B启动:问题点
查看>>
解决input 有多少个radio绑定change事件,手动触发就会执行多少次问题
查看>>
SQL 时间格式转换
查看>>
针对DDR2-800和DDR3的PCB信号完整性设计
查看>>
RouteOS软路由HotSpot热点认证网关
查看>>
jenkins添加git源码目录时报Error performing command错误
查看>>
delphi多语言
查看>>
[Z] SQL SERVER 的前世今生--各版本功能对比
查看>>
df -h显示磁盘使用情况
查看>>
北京木瓜移动科技有限公司
查看>>
redis运维的一些知识点
查看>>
ZZZZ
查看>>
Win7或Windows server 2008中IIS7支持ASP+Access解决方法
查看>>