问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何:重写依赖项属性的元数据

发布网友 发布时间:2024-07-04 04:37

我来回答

1个回答

热心网友 时间:2024-07-29 00:16

很多依赖项属性类都已经将默认元数据作为其注册过程的一部分而创建。这包含作为 WPF02API 一部分的依赖项属性。通过其类继承继承依赖项属性的类可以重写原始的元数据,以便可以通过元数据更改的属性的特征将与任何特定于子类的要求匹配。在依赖项属性上重写元数据的操作必须在将该属性提供给属性系统使用之前进行,也就是说,在对注册属性的对象的特定实例进行实例化之前进行。必须在将其自身提供为 OverrideMetadata 的forType 参数的类型的静态构造内执行对 OverrideMetadata 的调用。如果在所有者类型的实例存在之后尝试更改元数据,这将不会引发异常,但会在属性系统中导致不一致的行为。此外,每种类型只可以重写一次元数据。以后在同一类型上重写元数据的尝试将会引发异常 Visual Basic PublicClass MyStateControl Inherits ButtonBase PublicSubNew() MyBase.New() EndSubPublicProperty State() AsBooleanGetReturn CType(Me.GetValue(StateProperty), Boolean) EndGetSet(ByVal value AsBoolean) Me.SetValue(StateProperty, value) EndSetEndPropertyPublicSharedReadOnly StateProperty As DependencyProperty = DependencyProperty.Register("State", GetType(Boolean), GetType(MyStateControl),New PropertyMetadata(False)) EndClass ... PublicClass MyAdvancedStateControl Inherits MyStateControl PublicSubNew() MyBase.New() EndSubSharedSubNew() MyStateControl.StateProperty.OverrideMetadata(GetType(MyAdvancedStateControl), New PropertyMetadata(True)) EndSubEndClass C# publicclass MyStateControl : ButtonBase { public MyStateControl() : base() { } public Boolean State { get { return (Boolean)this.GetValue(StateProperty); } set { this.SetValue(StateProperty, value); } } publicstatic readonly DependencyProperty StateProperty = DependencyProperty.Register( "State", typeof(Boolean), typeof(MyStateControl),new PropertyMetadata(false)); } ... publicclass MyAdvancedStateControl : MyStateControl { public MyAdvancedStateControl() : base() { } static MyAdvancedStateControl() { MyStateControl.StateProperty.OverrideMetadata(typeof(MyAdvancedStateControl), new PropertyMetadata(true)); } }
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 墙布发霉是质量问题吗 墙布发霉是质量问题吗怎么处理 幼升小阶段需要培养孩子哪些习惯?要上幼小衔接? 如何衡量一个人的成熟? 2017-2018年河北邢台的幼升小招生什么时候开始? 怎么看一个人是否成熟?我来告诉你 邢台幼升小,购房合同送到学校了怎么办 电话02066365615什么电话? 国家单位的工作有哪些 ...心心相连,即使远在天涯海角,远隔千山万水,情感上仍然如邻居一样亲近... 《送杜少府之蜀州》中以成为远隔千山万水的朋友间表达深情厚谊的不朽... 即使远隔千山万水不能相见人们也会互相祝福就像宋朝服务诗人苏轼所写... 正清风痛宁片药物信息 大黄甘遂汤 合肥办护照在哪里办理 足总杯和联赛杯哪个含金量高 英格兰足总杯含金量高吗 妇科炎症自己会痊愈吗 从劳务公司套现应该怎么写进协议书里 锻刀之英雄无悔飞毛腿和谁结婚了 莫拉古哟什么意思 C# wpf 怎么注册枚举的依赖项属性 计算机二级三级证书、党员相关问题 龙骨海参炖山药有什么营养价值? 龙骨的作用与功效 龙骨的营养价值 龙骨的营养价值高为何价格却便宜? 好事成双江海卖房出事了吗 哪些车是at变速箱 工作自动化扩大英国南北差距 剑网3指尖对弈双人合作模式玩法技巧攻略 英国为什么竭力压制北美经济的发展 如果钢铁侠变成了透明蓝和黑色是怎么样的 光明时间谷创意大夏属于哪个社区 盐和酸的反应属于什么反应类型? ...英国殖民了南北洲,现在的国际经济发展会怎么样,顺序会怎样_百度知 ... 壁柜床安装方法详解 让你的床找不到 ...更新了显卡驱动之后玩LOL掉帧,没以前那么流畅了 指尖江湖风筝怎么双人 不同学科领域是紧密相连的怎样证明 漫威对决钢铁侠试炼第2关打法技巧 漫威对决钢铁侠试炼第三关打法攻略