DependencyPropertyKey.DependencyProperty 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取与此专用只读依赖属性标识符关联的依赖属性标识符。
public:
property System::Windows::DependencyProperty ^ DependencyProperty { System::Windows::DependencyProperty ^ get(); };
public System.Windows.DependencyProperty DependencyProperty { get; }
member this.DependencyProperty : System.Windows.DependencyProperty
Public ReadOnly Property DependencyProperty As DependencyProperty
属性值
相关的依赖属性标识符。
示例
以下示例调用 DependencyProperty 来公开类上 AquariumGraphic
只读依赖属性的 DependencyProperty 标识符(AquariumGraphicProperty
)。 该示例还显示了创建 DependencyPropertyKey(作为内部成员)和 get 访问器 AquariumGraphic
。
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
注解
DependencyProperty 值使只读属性的标识符能够使用一些用于读写依赖属性的相同接口参与通用属性系统操作。
若要为只读依赖属性实现 get 属性访问器,应在类上创建和公开 DependencyProperty 标识符。 这有两个用途:
你自己的类需要 DependencyProperty 标识符才能实现属性包装器的 get 访问器。 使用 DependencyProperty 作为实现 get 访问器的 GetValue 调用的参数。
DependencyProperty 标识符向属性系统公开依赖属性,以便依赖元数据的其他方法可以通过标准形式访问它。 例如,如果在某些 DependencyObject 调用 GetLocalValueEnumerator 并获取了本地集属性(值和标识符)的枚举,则为只读依赖属性返回的标识符将是 DependencyProperty 值,而不是密钥。 不公开 DependencyProperty 标识符不会以任何方式增加只读依赖属性的安全性,它只会使涉及属性的操作在后续派生类和类实例中更加尴尬。
若要公开类上的 DependencyProperty 标识符,请直接在密钥上调用 DependencyProperty。 使用此值在类上创建 public static readonly
DependencyProperty 标识符,该标识符与 DependencyPropertyKey并行。