- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DependencyProperty
.Net3.0里的DependencyProperty
自己一个人学,怎?除了做,有两个,第一是去,看看能不能把,第二是写文章,看看理不理的清楚思路 呵呵第一次,,先在~不,今天先? 一 引入DependencyProperty
WPF核心中的核心了。在WPF的框架中随DependencyProperty能,很多介,我,今天先从什DependencyProperty说起。
?从属性
在CLR中有属性(Property)这个概念,它可以用来封装字段。
private?string?_myString;public?string?MyString{?????????get{return?_myString;}????????set{_myString=value;}}
?这种属性应用的非常多,我们还可以在set或get方法中加入某些Age属性的set方法中加入
但是WPF框架的编程经常和界面打交道,经常遇到的一个情况是某个属性的值的变化会影响到多个其他Button的改set方法中触实际上我们的需求更加复杂,WPF中的数据XAML语法等很多地方都和属性密切相关,我们迫切需要一种功能更加强大的属性。
?于是在WPF中,引入了一种特殊的属性,Dependency Property。,它的对这种属性的取值和赋值都会能与其他
这很抽象,也许很难懂。不明白不要紧,先接着看。一步步来,先看看DependencyProperty长什么样,从定义DependencyProperty开始:
public?static?readonly?DependencyProperty?MyStringProperty?=?DependencyProperty.Register(????????????MyString,????????????typeof(string),????????????typeof(ClassMyDependency),????????????new?PropertyMetadata(defaultValue,?new?PropertyChangedCallback(onMyStringPropertyChange)));
一眼看上去很复杂,首先使用public static readonly的方式(其.net里的一DenpendencyProperty成DependencyProperty的Register方法,这个成员我们称做DependencyProperty标识。
我们传入了一些参数,分别表示属性名,属性类型,父元素(也就是包含属性的元素)类型,属性元数据(这些以后再详细介绍)。要 注意的是,?MyStringProperty,但是属性的名称不是成,它由第一个参数指定.Property的后 是可,虽说不按照这个规则编译能通过,但是.net中很多地方都遵循了,这里我们了解这个规则并保证自己定义的 DependecyProperty都遵循它就行了,以后会有更.实际上我,全局的且是唯一确定的,当需要GetValue()和SetValue()方法来()。
GetValue(property)SetValue(property, value)
方法的DependencyProperty的DependencyObject的,这个属性定义在了这里,但是它并不完全属于DependencyProperty功能的??不GetValue和SetValue方法DependencyProperty的定
????????public?string?MyString????????{????????????get?{?return?(string)GetValue(myStringProperty);?}????????????set?{?SetValue(myStringProperty,?value);?}????????}
这在MSDN中称”CLR封装(wrapper)”,DependencyProperty就和“向下兼容”。?
??DependencyProperty到底可以用来做什private的私有字段。.net自Hash的数据存DotNet的一
?关于为DependencyProperty的XAML和?code中都可以code中就不介XAML中,使用一个XML属性即可:l:ClassMyDependency MyString=11111 MyString1=22222 x:Key=myclass /
l是MyString是一个DependencyProperty,MyString1是一个普通属性,XAML下的这一句XAML如果翻C# code大概是:
????????Class
您可能关注的文档
最近下载
- 2025急性肺栓塞诊断和治疗指南.pdf
- 四年级《信息技术》华师版教案.pdf VIP
- 岛津气相色谱仪GC-2010Plus用户指南 中文操作说明书.pdf
- 【课件】Unit5 Reading and Thinking A pioneer for all people 公开课 课件人教版高中英语选择性必修第一册.pptx VIP
- 质量保证手册(压力容器最终版).docx VIP
- 2026届东北三省一区八校联合体高三第一次模拟考试数学试卷.docx VIP
- 院前创伤急救止血专家共识(2025年版)解读PPT课件.pptx VIP
- 工地渣土运输和车辆出门清洗保障措施.docx VIP
- 给水排水工程顶管技术规程CECS_246:2008.pdf VIP
- 肯比Mastertig ACDC使用说明书.pdf VIP
文档评论(0)