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) |