DependencyProperty.OverrideMetadata 方法

定义

在指定类型的实例上提供此依赖属性的备用元数据,而不是初始依赖属性注册中提供的元数据。

重载

名称 说明
OverrideMetadata(Type, PropertyMetadata)

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

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

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

OverrideMetadata(Type, PropertyMetadata)

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

public:
 void OverrideMetadata(Type ^ forType, System::Windows::PropertyMetadata ^ typeMetadata);
public void OverrideMetadata(Type forType, System.Windows.PropertyMetadata typeMetadata);
member this.OverrideMetadata : Type * System.Windows.PropertyMetadata -> unit
Public Sub OverrideMetadata (forType As Type, typeMetadata As PropertyMetadata)

参数

forType
Type

继承此依赖属性的类型,以及将应用提供的备用元数据的位置。

typeMetadata
PropertyMetadata

要应用于重写类型的依赖属性的元数据。

例外

尝试重写只读依赖属性上的元数据(不能使用此签名完成该操作)。

已为依赖属性建立元数据,因为它存在于提供的类型上。

注解

在属性系统使用依赖属性之前,应重写依赖属性元数据。 这相当于使用注册依赖属性的类创建特定实例的时间。 仅应在类型静态构造函数中执行对 OverrideMetadata 调用,该构造函数提供自己作为 forType 此方法的参数,或通过类似的实例化。 尝试在所有者类型的实例存在后更改元数据不会引发异常,但将导致属性系统中的行为不一致。

使用此方法建立特定派生类重写的元数据后,后续尝试重写同一派生类上的元数据将引发异常。

提供的元数据与依赖属性的属性元数据合并,因为它存在于基本所有者上。 原始基础元数据中指定的任何特征都将保留;只有新元数据中专门更改的特征才会替代基本元数据的特征。 某些特征(例如 DefaultValue ,如果在新元数据中指定)将被替换。 其他,例如 PropertyChangedCallback,组合在一起。 归根结底,合并行为取决于用于重写的属性元数据类型,因此此处介绍的行为适用于 WPF 依赖属性使用的现有属性元数据类。 有关详细信息,请参阅 依赖属性元数据框架属性元数据

适用于

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

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

public:
 void OverrideMetadata(Type ^ forType, System::Windows::PropertyMetadata ^ typeMetadata, System::Windows::DependencyPropertyKey ^ key);
public void OverrideMetadata(Type forType, System.Windows.PropertyMetadata typeMetadata, System.Windows.DependencyPropertyKey key);
member this.OverrideMetadata : Type * System.Windows.PropertyMetadata * System.Windows.DependencyPropertyKey -> unit
Public Sub OverrideMetadata (forType As Type, typeMetadata As PropertyMetadata, key As DependencyPropertyKey)

参数

forType
Type

继承此依赖属性的类型,以及将应用提供的备用元数据的位置。

typeMetadata
PropertyMetadata

要应用于重写类型的依赖属性的元数据。

key
DependencyPropertyKey

只读依赖属性的访问密钥。

注解

此签名为只读依赖属性标识符 (DependencyPropertyKey) 方法提供基础实现。 如果重写读写依赖属性的元数据,请使用 OverrideMetadata(Type, PropertyMetadata)

在属性系统使用依赖属性之前,应重写依赖属性元数据。 这相当于为注册依赖属性的类创建特定对象的时间。 仅应在类型静态构造函数中执行对 OverrideMetadata 调用,该构造函数提供自己作为 forType 此方法的参数,或通过类似的实例化。 尝试在所有者类型的实例存在后更改元数据不会引发异常,但将导致属性系统中的行为不一致。

使用此方法建立特定派生类重写的元数据后,后续尝试重写同一派生类上的元数据将引发异常。

提供的元数据与依赖属性的属性元数据合并,因为它存在于基本所有者上。 原始基础元数据中指定的任何特征都将保留;只有新元数据中专门更改的特征才会替代基本元数据的特征。 某些特征(例如 DefaultValue ,如果在新元数据中指定)将被替换。 其他,例如 PropertyChangedCallback,组合在一起。 合并行为取决于用于重写的属性元数据类型。 有关详细信息,请参阅 依赖属性元数据框架属性元数据

适用于