SuperAPI AI 工具集

defining-wpf-dependencyproperty

编程与开发

查看项目

更新于 10-15 20:12

技能介绍

该技能用于指导在 WPF 中定义依赖属性(DependencyProperty),适用于创建自定义控件、附加属性等场景,使属性支持数据绑定、样式与模板、动画和属性值继承。

主要能力包括:使用 DependencyProperty.Register 注册依赖属性并编写 CLR 属性包装器;使用 PropertyMetadata 或 FrameworkPropertyMetadata 设置默认值、FrameworkPropertyMetadataOptions 标志(如 AffectsMeasure、AffectsArrange、AffectsRender、Inherits、BindsTwoWayByDefault);添加 PropertyChangedCallback、CoerceValueCallback 与 ValidateValueCallback;回调执行顺序为验证、强制、变更通知。还涉及只读依赖属性(RegisterReadOnly 与 DependencyPropertyKey)和附加属性(RegisterAttached 配合静态 Get/Set 方法及 XAML 使用)。

使用方式:在自定义控件的静态字段上注册依赖属性,暴露 CLR 属性通过 GetValue/SetValue 访问;附加属性在静态类中注册并提供 GetXxx/SetXxx。限制与更多细节(如值继承、元数据重写、事件集成)见 ADVANCED.md,原文未给出完整实现细节。