DependencyPropertyKey Класс

Определение

Предоставляет идентификатор свойства зависимостей для ограниченного доступа на запись к доступному только для чтения свойству зависимостей.

public ref class DependencyPropertyKey sealed
public sealed class DependencyPropertyKey
type DependencyPropertyKey = class
Public NotInheritable Class DependencyPropertyKey
Наследование
DependencyPropertyKey

Примеры

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

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)

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

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