Поделиться через


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 (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, чтобы реализовать метод доступа для оболочки свойств. Вы используете DependencyProperty в качестве параметра для вызова GetValue, реализующего метод доступа.

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

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

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

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