DependencyPropertyKey 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供依赖项对象标识符,以便对只读依赖项对象进行有限的写访问。
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 实例作为依赖属性注册调用的返回值(使用方法 RegisterReadOnly 或 RegisterAttachedReadOnly) 获取。
注册依赖属性的类型可以使用 DependencyPropertyKey 调用 SetValue 中的调用,并将 ClearValue 属性的值调整为类逻辑的一部分。 如果密钥的访问级别允许,相关类也可以使用密钥和依赖属性。 例如,可以将密钥声明为内部密钥,同一程序集中的其他类型也可以设置该依赖属性。
DependencyPropertyKey只读依赖属性注册返回的不应公开,因为公开密钥会使属性可设置,从而使将其注册为只读依赖属性的点失败。 此外,公开密钥会导致可用依赖项属性行为与其公共语言运行时 (CLR) 属性包装器实现不匹配,这是错误的类设计。
不应公开键本身,而是应公开DependencyProperty类中作为DependencyPropertyKey键public static readonly
DependencyProperty的值。 这样,该属性就可以为某些属性系统操作(例如枚举本地集值)返回有效的依赖属性标识符。 但是,因此获取的标识符没有许多属性系统操作的完整功能 DependencyProperty 。
属性
DependencyProperty |
获取与此专用只读依赖项对象标识符关联的依赖项对象标识符。 |
方法
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
OverrideMetadata(Type, PropertyMetadata) |
重写由此依赖项对象标识符表示的只读依赖项对象的元数据。 |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |