DependencyProperty.OverrideMetadata 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当此依赖属性位于指定类型的实例上时为其提供替换元数据(而不是在最初注册依赖属性时提供的元数据)。
重载
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
一种元数据,它将应用于重写类型上的依赖属性。
只读依赖属性的访问键。
注解
此签名为只读依赖属性标识符 (DependencyPropertyKey) 方法提供基础实现。 如果重写读写依赖属性的元数据,请使用 OverrideMetadata(Type, PropertyMetadata)。
在属性系统使用依赖属性之前,应重写依赖属性元数据。 这相当于为注册依赖属性的类创建特定对象的时间。
OverrideMetadata应仅在作为此方法的参数提供自己的forType
类型的静态构造函数中或通过类似的实例化来执行对 的调用。 在所有者类型实例存在后尝试更改元数据不会引发异常,但会导致属性系统中的行为不一致。
使用此方法建立特定派生类替代的元数据后,后续尝试重写同一派生类上的元数据将引发异常。
提供的元数据与依赖属性的属性元数据合并,因为它存在于基所有者上。 原始基本元数据中指定的任何特征都将保留:只有那些在新元数据中专门更改的特征才会覆盖基本元数据的特征。 如果在新元数据中指定,将替换某些特征,例如 DefaultValue 。 其他项(如 PropertyChangedCallback)是组合在一起的。 合并行为取决于用于替代的属性元数据类型。 有关详细信息,请参阅 依赖属性元数据 和 框架属性元数据。