DependencyProperty 类

定义

表示可通过方法(如样式、数据绑定、动画和继承)设置的属性。

public ref class DependencyProperty sealed
[System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
public sealed class DependencyProperty
[System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
public sealed class DependencyProperty
[<System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")>]
type DependencyProperty = class
[<System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")>]
type DependencyProperty = class
Public NotInheritable Class DependencyProperty
继承
DependencyProperty
属性

注解

DependencyProperty 支持 Windows Presentation Foundation 中的以下功能(WPF):

  • 该属性可以设置在样式中。 有关详细信息,请参阅 样式设置和模板化

  • 可以通过数据绑定设置该属性。 有关数据绑定依赖属性的详细信息,请参阅 如何:绑定两个控件的属性

  • 可以使用动态资源引用设置该属性。 有关详细信息,请参阅 XAML 资源

  • 该属性可以从元素树中的父元素自动继承其值。 有关详细信息,请参阅 属性值继承

  • 该属性可以进行动画处理。 有关详细信息,请参阅 动画概述

  • 该属性可以报告属性的上一个值已更改,并且属性值可以强制转换。 有关详细信息,请参阅 依赖属性回调和验证

  • 属性将信息报告给 WPF,例如更改属性值是否应要求布局系统重新编译元素的视觉对象。

  • 该属性在 Visual Studio 的 WPF 设计器中接收支持。 例如,可以在 属性 窗口中编辑该属性。

若要详细了解依赖属性,请参阅 依赖属性概述。 如果希望自定义类型的属性支持上述列表中的功能,则应创建依赖属性。 若要了解如何创建自定义依赖属性,请参阅 自定义依赖属性

附加属性是一个属性,该属性允许任何对象向定义附加属性的类型报告信息。 在 WPF 中,继承自 DependencyObject 的任何类型都可以使用附加属性,无论类型是否继承自定义属性的类型。 附加属性是 XAML 语言的一项功能。 若要在 XAML 中设置附加属性,请使用 ownerTypepropertyName 语法。 附加属性的示例是 DockPanel.Dock 属性。 如果要创建可用于所有 DependencyObject 类型的属性,则应创建附加属性。 若要详细了解附加属性,包括如何创建它们,请参阅 附加属性概述

XAML 属性用法

<object property="dependencyPropertyName"/>  

-或-

<object property="ownerType.dependencyPropertyName"/>  

-或-

<object property="attachedPropertyOwnerType.attachedPropertyName"/>  

XAML 值

dependencyPropertyName
一个字符串,指定所需依赖属性的 DependencyProperty.Name。 如果属性不在默认 XML 命名空间中,则此前缀可能前面有 XML 命名空间前缀(有关详细信息,请参阅 WPF XAML的 XAML 命名空间和命名空间映射。)

ownerTypedependencyPropertyName
一个字符串,指定依赖属性的所有者类型,即点(.),然后指定 DependencyProperty.NameownerType 也可以前面有 XML 命名空间前缀。 此用法尤其适用于后期绑定的样式和模板,其中必须指定依赖属性的所有者来分析上下文,因为 TargetType 尚未知。 有关详细信息,请参阅 样式设置和模板化

attachedPropertyOwnerType attachedPropertyName
一个字符串,指定附加属性的所有者、一个点(.),然后指定附加的属性名称。 attachedPropertyOwnerType 也可以前面有 XML 命名空间前缀。

字段

UnsetValue

指定 WPF 属性系统使用的静态值,而不是 null 指示该属性存在,但没有属性系统设置其值。

属性

DefaultMetadata

获取依赖属性的默认元数据。

GlobalIndex

获取一个内部生成的值,该值唯一标识依赖属性。

Name

获取依赖属性的名称。

OwnerType

获取向属性系统注册依赖属性的对象的类型,或将自身添加为属性的所有者。

PropertyType

获取依赖属性对其值使用的类型。

ReadOnly

获取一个值,该值指示此 DependencyProperty 实例标识的依赖属性是否为只读依赖属性。

ValidateValueCallback

获取依赖项属性的值验证回调。

方法

AddOwner(Type)

将另一个类型添加为已注册的依赖属性的所有者。

AddOwner(Type, PropertyMetadata)

将另一个类型添加为已注册的依赖属性的所有者,为依赖属性提供依赖属性元数据,因为它将存在于提供的所有者类型上。

Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
GetHashCode()

返回此 DependencyProperty的哈希代码。

GetMetadata(DependencyObject)

返回此依赖属性的元数据,因为它存在于指定的对象实例上。

GetMetadata(DependencyObjectType)

返回此依赖属性的元数据,因为它存在于指定类型上。

GetMetadata(Type)

返回此依赖属性的元数据,因为它存在于指定的现有类型上。

GetType()

获取当前实例的 Type

(继承自 Object)
IsValidType(Object)

根据原始依赖属性注册中提供的属性类型检查,确定指定值是否可接受此依赖属性的类型。

IsValidValue(Object)

确定是否通过基本类型检查为属性类型接受所提供的值,以及是否在该类型的允许范围内。

MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
OverrideMetadata(Type, PropertyMetadata)

指定此依赖属性的备用元数据(当它存在于指定类型的实例上时),重写从基类型继承时为依赖属性存在的元数据。

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

在指定类型的实例上提供只读依赖属性的备用元数据,替代初始依赖属性注册中提供的元数据。 必须传递只读依赖属性的 DependencyPropertyKey,以避免引发异常。

Register(String, Type, Type)

使用指定的属性名称、属性类型和所有者类型注册依赖属性。

Register(String, Type, Type, PropertyMetadata)

使用指定的属性名称、属性类型、所有者类型和属性元数据注册依赖属性。

Register(String, Type, Type, PropertyMetadata, ValidateValueCallback)

使用指定的属性名称、属性类型、所有者类型、属性元数据和属性的值验证回调注册依赖属性。

RegisterAttached(String, Type, Type)

使用指定的属性名称、属性类型和所有者类型注册附加属性。

RegisterAttached(String, Type, Type, PropertyMetadata)

使用指定的属性名称、属性类型、所有者类型和属性元数据注册附加属性。

RegisterAttached(String, Type, Type, PropertyMetadata, ValidateValueCallback)

使用属性的指定属性类型、所有者类型、属性元数据和值验证回调注册附加属性。

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

使用指定的属性类型、所有者类型和属性元数据注册只读附加属性。

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

使用指定的属性类型、所有者类型、属性元数据和验证回调注册只读附加属性。

RegisterReadOnly(String, Type, Type, PropertyMetadata)

使用指定的属性类型、所有者类型和属性元数据注册只读依赖属性。

RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

使用指定的属性类型、所有者类型、属性元数据和验证回调注册只读依赖属性。

ToString()

返回依赖属性的字符串表示形式。

适用于

另请参阅