DependencyPropertyKey.DependencyProperty Свойство

Определение

Возвращает идентификатор свойства зависимостей, связанный с данным специализированным идентификатором доступного только для чтения свойства зависимостей.

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

Соответствующий идентификатор свойства зависимостей.

Примеры

В следующем примере вызывается DependencyProperty предоставление идентификатора DependencyProperty (AquariumGraphicProperty) для свойства зависимостей только для AquariumGraphic чтения в классе. В примере также показано DependencyPropertyKey создание (как внутренний член) и метод доступа для 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 в качестве параметра GetValue .

  • DependencyProperty идентификаторы предоставляют свойство зависимостей системе свойств таким образом, чтобы другие методы, использующие метаданные, могли получить к нему доступ в стандартной форме. Например, если вы вызвали GetLocalValueEnumerator некоторые DependencyObject и получили перечисление локально заданных свойств (значений и идентификаторов), то идентификатор, возвращаемый для свойства зависимостей только для чтения, будет вашим DependencyProperty значением, а не ключом. Не предоставляя DependencyProperty идентификатор, не повышает безопасность свойства зависимостей только для чтения, это просто делает операции, которые связаны со свойством более неловко как для последующих производных классов, так и для экземпляров классов.

Чтобы предоставить DependencyProperty идентификатор в классе, вызовите DependencyProperty его непосредственно в ключе. Используйте это значение для создания public static readonly DependencyProperty идентификатора в классе, который параллелит DependencyPropertyKey.

Применяется к

См. также раздел