依赖属性的概述

Windows Presentation Foundation (WPF) 提供一组服务,这些服务可用于扩展类型的属性的功能。 这些服务统称为 WPF 属性系统。 由 WPF 属性系统支持的属性称为依赖属性。
WPF 属性通常公开为标准 .NET 属性。你可以在基本级别上与这些属性进行交互,并且决不知道它们是作为依赖属性实现的。但是,熟悉 WPF 属性系统的部分或全部功能有助于利用这些功能。依赖属性的目的是提供一种方法来基于其他输入值计算属性的值,例如:
(1)系统属性,例如主题和用户首选项。
(2)实时属性确定机制,如数据绑定和动画/情节提要。
(3)多用途模板,如资源和样式。
(4)通过与元素树中的其他元素的父子关系来识别的值。
派生类可以通过重写依赖属性的元数据来更改现有属性的某些特性,而不是重写现有属性的实际实现或创建新属性。在 SDK 参考中,可以通过该属性的 “托管引用” 页上存在依赖属性信息部分来识别依赖属性。依赖属性信息部分包含指向 DependencyProperty 该依赖属性的标识符字段的链接。 它还包括该属性的元数据选项列表、每类替代信息和其他详细信息。
依赖属性和 WPF 属性系统通过提供支持属性的类型扩展属性功能,作为使用私有字段支持属性的标准模式的替代方法。此类型的名称为 DependencyProperty。定义WPF 属性系统的另一种重要类型是 DependencyObject ,定义可注册和拥有依赖属性的基类。常用术语有:
(1)依赖项属性,它是由 支持的属性。
(2)依赖项属性标识符,它是在注册依赖属性时作为返回值获取的实例,然后作为类的静态成员进行 存储。 与 WPF 属性系统交互的许多 Api 使用依赖属性标识符作为参数。
(3)CLR “包装器”,它是属性的 和 set 实现。 这些实现通过在中 GetValue 使用依赖项属性标识符并 SetValue 调用来合并它们。 通过这种方式,WPF 属性系统为属性提供支持。
依赖属性可以通过数据绑定来引用值。 数据绑定通过特定标记扩展语法(在 XAML 中)或 Binding 对象(在代码中)起作用。 使用数据绑定时,最终属性值的确定将延迟到运行时,此时将从数据源获取值。
样式和模板是使用依赖属性的有说服力的原因。 样式对于设置定义应用程序 UI 的属性特别有用。 在 XAML 中,通常将样式定义为资源。 样式与属性系统交互,因为它们通常包含特定属性的 “setter” 和基于另一个属性的运行时值更改属性值的 “触发器”。
可以对依赖属性进行动画处理。 当应用的动画运行时,动画值的优先级高于任何其他属性值,包括本地值。
当派生自最初注册依赖属性的类时,可以通过重写其元数据来更改依赖属性的特定行为。 重写元数据依赖 DependencyProperty 于标识符,不需要重新实现属性。 元数据更改由属性系统本机处理。 每个类都有可能保存从基类继承的所有属性的单个元数据,每种类型都是如此。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值