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) 属性包装器实现不匹配,这是错误的类设计。
应改为将 DependencyPropertyKey 的 DependencyProperty 值公开为类上的 public static readonly
DependencyProperty,而不是公开键本身。 这使该属性能够为某些属性系统操作(例如枚举本地集值)返回有效的依赖属性标识符。 但是,因此获取的标识符对于许多属性系统操作没有 DependencyProperty 的全部功能。
属性
DependencyProperty |
获取与此专用只读依赖属性标识符关联的依赖属性标识符。 |
方法
Equals(Object) |
确定指定的对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
用作默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object的浅表副本。 (继承自 Object) |
OverrideMetadata(Type, PropertyMetadata) |
重写由此依赖属性标识符表示的只读依赖属性的元数据。 |
ToString() |
返回一个表示当前对象的字符串。 (继承自 Object) |