DependencyProperty.RegisterAttachedReadOnly Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Регистрирует присоединенное свойство зависимостей, предназначенное только для чтения.
Перегрузки
RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata) |
Регистрирует доступное только для чтения присоединенное свойство с указанным типом свойства, типом владельца и метаданными свойства. |
RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) |
Регистрирует доступное только для чтения присоединенное свойство с указанным типом свойства, типом владельца, метаданными свойства и обратным вызовом для проверки. |
RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)
Регистрирует доступное только для чтения присоединенное свойство с указанным типом свойства, типом владельца и метаданными свойства.
public:
static System::Windows::DependencyPropertyKey ^ RegisterAttachedReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ defaultMetadata);
public static System.Windows.DependencyPropertyKey RegisterAttachedReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata defaultMetadata);
static member RegisterAttachedReadOnly : string * Type * Type * System.Windows.PropertyMetadata -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterAttachedReadOnly (name As String, propertyType As Type, ownerType As Type, defaultMetadata As PropertyMetadata) As DependencyPropertyKey
Параметры
- name
- String
Имя регистрируемого свойства зависимостей.
- propertyType
- Type
Тип свойства.
- ownerType
- Type
Тип владельца, регистрирующего свойство зависимостей.
- defaultMetadata
- PropertyMetadata
Метаданные свойства зависимостей.
Возвращаемое значение
Ключ свойства зависимостей, который следует использовать для задания значения статического доступного только для чтения поля в вашем классе, которое затем используется для ссылки на свойство зависимостей.
Комментарии
Этот метод возвращает тип DependencyPropertyKey, в то время как RegisterAttached возвращает тип DependencyProperty. Как правило, ключи, представляющие свойства только для чтения, не становятся открытыми, так как ключи можно использовать для задания значения свойства зависимостей путем вызова SetValue(DependencyPropertyKey, Object). Дизайн класса будет влиять на ваши требования, но обычно рекомендуется ограничить доступ и видимость любого DependencyPropertyKey только тех частей кода, которые необходимы для задания этого свойства зависимостей в рамках класса или логики приложения. Также рекомендуется предоставить идентификатор свойства зависимостей для свойства зависимостей только для чтения, предоставив значение DependencyPropertyKey.DependencyProperty в виде public static readonly
поля в классе.
Присоединенные свойства только для чтения являются редкими, так как основной сценарий для присоединенного свойства используется в XAML. Без открытого метода задания присоединенное свойство невозможно задать в синтаксисе XAML.
Дополнительные сведения о регистрации свойств зависимостей см. в разделе DependencyProperty.
Использование RegisterAttached для свойств зависимостей наследования значений
Одним из конкретных сценариев регистрации свойства зависимостей в присоединенном случае является поддержка наследования значений свойств. Следует регистрировать наследующие значения свойства зависимостей RegisterAttached , даже если класс определяет методы доступа к оболочке свойств, предоставляющие свойство зависимостей, и даже если не планируется предоставлять статические методы Get* и Set*, чтобы предоставить истинные присоединенные свойства поддерживают методы доступа. Несмотря на то, что наследование значений свойств может работать для неуклюжих свойств зависимостей, поведение наследования для неуклюжимого свойства через определенные границы элементов в дереве среды выполнения не определено. Регистрация свойства как присоединенного фактически делает присоединенное свойство глобальным свойством в системе свойств и гарантирует, что наследование значений свойства работает по всем границам дерева элементов. Для регистрации свойств всегда используйте RegisterAttached, если в метаданных указываете Inherits. Дополнительные сведения см. в разделе Наследование значения свойства.
Применяется к
RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)
Регистрирует доступное только для чтения присоединенное свойство с указанным типом свойства, типом владельца, метаданными свойства и обратным вызовом для проверки.
public:
static System::Windows::DependencyPropertyKey ^ RegisterAttachedReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ defaultMetadata, System::Windows::ValidateValueCallback ^ validateValueCallback);
public static System.Windows.DependencyPropertyKey RegisterAttachedReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata defaultMetadata, System.Windows.ValidateValueCallback validateValueCallback);
static member RegisterAttachedReadOnly : string * Type * Type * System.Windows.PropertyMetadata * System.Windows.ValidateValueCallback -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterAttachedReadOnly (name As String, propertyType As Type, ownerType As Type, defaultMetadata As PropertyMetadata, validateValueCallback As ValidateValueCallback) As DependencyPropertyKey
Параметры
- name
- String
Имя регистрируемого свойства зависимостей.
- propertyType
- Type
Тип свойства.
- ownerType
- Type
Тип владельца, регистрирующего свойство зависимостей.
- defaultMetadata
- PropertyMetadata
Метаданные свойства зависимостей.
- validateValueCallback
- ValidateValueCallback
Ссылка на созданный пользователем обратный вызов, который должен выполнить пользовательскую проверку значения свойства зависимостей после обычной проверки типа.
Возвращаемое значение
Ключ свойства зависимостей, который следует использовать для задания значения статического доступного только для чтения поля в вашем классе, которое затем используется для ссылки на свойство зависимостей.
Комментарии
Этот метод возвращает тип DependencyPropertyKey, в то время как RegisterAttached возвращает тип DependencyProperty. Как правило, ключи, представляющие тип DependencyProperty. Как правило, ключи, представляющие свойства только для чтения, не становятся открытыми, так как ключи можно использовать для задания значения свойства зависимостей путем вызова SetValue(DependencyPropertyKey, Object). Дизайн класса будет влиять на ваши требования, но обычно рекомендуется ограничить доступ и видимость любого DependencyPropertyKey только тех частей кода, которые необходимы для задания этого свойства зависимостей в рамках класса или логики приложения. Также рекомендуется предоставить идентификатор свойства зависимостей для свойства зависимостей только для чтения, предоставив значение DependencyPropertyKey.DependencyProperty в виде public static readonly
поля в классе.
Присоединенные свойства только для чтения являются редкими, так как основной сценарий для присоединенного свойства используется в XAML. Без открытого метода задания присоединенное свойство невозможно задать в синтаксисе XAML.
Дополнительные сведения о регистрации свойств зависимостей см. в разделе DependencyProperty.
Использование RegisterAttached для свойств зависимостей наследования значений
Одним из конкретных сценариев регистрации свойства зависимостей, присоединенного вместо этого Register , является поддержка наследования значений свойств. Следует регистрировать наследующие значения свойства зависимостей RegisterAttached , даже если класс определяет методы доступа к оболочке свойств, предоставляющие свойство зависимостей, и даже если не планируется предоставлять статические методы Get* и Set*, чтобы предоставить истинные присоединенные свойства поддерживают методы доступа. Несмотря на то, что наследование значений свойств может работать для неуклюжих свойств зависимостей, поведение наследования для неуклюжимого свойства через определенные границы элементов в дереве среды выполнения не определено. Регистрация свойства как присоединенного фактически делает присоединенное свойство глобальным свойством в системе свойств и гарантирует, что наследование значений свойства работает по всем границам дерева элементов. Для регистрации свойств всегда используйте RegisterAttached, если в метаданных указываете Inherits. Дополнительные сведения см. в разделе Наследование значения свойства.