DependencyPropertyKey 类

定义

提供对只读依赖属性的有限写入访问权限的依赖属性标识符。

public ref class DependencyPropertyKey sealed
public sealed class DependencyPropertyKey
type DependencyPropertyKey = class
Public NotInheritable Class DependencyPropertyKey
继承
DependencyPropertyKey

示例

以下示例注册只读依赖属性,并在其他类成员中将密钥用于两个目的:实现 get“wrapper”,以及作为基于其他属性值计算设置值的受保护确定操作的标识符。

internal static readonly DependencyPropertyKey AquariumSizeKey = DependencyProperty.RegisterReadOnly(
  "AquariumSize",
  typeof(double),
  typeof(Aquarium),
  new PropertyMetadata(double.NaN)
);
public static readonly DependencyProperty AquariumSizeProperty =
  AquariumSizeKey.DependencyProperty;
public double AquariumSize
{
  get { return (double)GetValue(AquariumSizeProperty); }
}
Friend Shared ReadOnly AquariumSizeKey As DependencyPropertyKey = DependencyProperty.RegisterReadOnly("AquariumSize", GetType(Double), GetType(Aquarium), New PropertyMetadata(Double.NaN))
Public Shared ReadOnly AquariumSizeProperty As DependencyProperty = AquariumSizeKey.DependencyProperty
Public ReadOnly Property AquariumSize() As Double
    Get
        Return CDbl(GetValue(AquariumSizeProperty))
    End Get
End Property

注解

DependencyPropertyKey 实例是使用方法 RegisterReadOnlyRegisterAttachedReadOnly获取依赖属性注册调用的返回值。

注册依赖属性的类型可以使用调用中的 DependencyPropertyKeySetValueClearValue,这些类型将属性值调整为类逻辑的一部分。 如果密钥的访问级别允许,相关类也可以使用密钥和依赖属性。 例如,可以将密钥声明为内部密钥,同一程序集中的其他类型也可以设置该依赖属性。

只读依赖属性注册返回的 DependencyPropertyKey 不应公开,因为公开该密钥会使属性可设置,从而失败了将其注册为只读依赖属性的点。 此外,公开密钥会导致可用依赖属性行为与其公共语言运行时 (CLR) 属性包装器实现不匹配,这是错误的类设计。

应改为将 DependencyPropertyKeyDependencyProperty 值公开为类上的 public static readonlyDependencyProperty,而不是公开键本身。 这使该属性能够为某些属性系统操作(例如枚举本地集值)返回有效的依赖属性标识符。 但是,因此获取的标识符对于许多属性系统操作没有 DependencyProperty 的全部功能。

属性

DependencyProperty

获取与此专用只读依赖属性标识符关联的依赖属性标识符。

方法

Equals(Object)

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

(继承自 Object)
GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object的浅表副本。

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

重写由此依赖属性标识符表示的只读依赖属性的元数据。

ToString()

返回一个表示当前对象的字符串。

(继承自 Object)

适用于

另请参阅