DependencyProperty Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет свойство, которое можно задать с помощью таких методов, как стилизация, привязка данных, анимация и наследование.
public ref class DependencyProperty sealed
[System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
public sealed class DependencyProperty
[System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
public sealed class DependencyProperty
[<System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")>]
type DependencyProperty = class
[<System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")>]
type DependencyProperty = class
Public NotInheritable Class DependencyProperty
- Наследование
-
DependencyProperty
- Атрибуты
Комментарии
A DependencyProperty поддерживает следующие возможности в Windows Presentation Foundation (WPF):
Свойство можно задать в стиле. Дополнительные сведения см. в разделе "Стилизация" и "Шаблон".
Свойство можно задать с помощью привязки данных. Дополнительные сведения о свойствах зависимостей привязки данных см. в разделе "Практическое руководство. Привязка свойств двух элементов управления".
Свойство можно задать с помощью динамической ссылки на ресурсы. Дополнительные сведения см. в разделе "Ресурсы XAML".
Свойство может автоматически наследовать его значение от родительского элемента в дереве элементов. Дополнительные сведения см. в разделе "Наследование значений свойств".
Свойство может быть анимировано. Дополнительные сведения см. в разделе "Обзор анимации".
Свойство может сообщать, когда было изменено предыдущее значение свойства, и значение свойства можно принуть. Дополнительные сведения см. в разделе "Обратные вызовы свойств зависимостей" и "Проверка".
Свойство сообщает сведения в WPF, например, если изменение значения свойства должно требовать, чтобы система макета перекомпозировать визуальные элементы для элемента.
Свойство получает поддержку в конструкторе WPF для Visual Studio. Например, свойство можно изменить в окне "Свойства ".
Дополнительные сведения о свойствах зависимостей см. в разделе "Общие сведения о свойствах зависимостей". Если вы хотите, чтобы свойства пользовательских типов поддерживали возможности в предыдущем списке, необходимо создать свойство зависимостей. Сведения о создании настраиваемых свойств зависимостей см. в разделе "Настраиваемые свойства зависимостей".
Присоединенное свойство — это свойство, которое позволяет любому объекту сообщать сведения в тип, определяющий присоединенное свойство. В WPF любой тип, наследующий от DependencyObject него, может использовать присоединенное свойство независимо от того, наследуется ли тип от типа, определяющего свойство. Присоединенное свойство — это функция языка XAML. Чтобы задать присоединенное свойство в XAML, используйте тип владельца. синтаксис propertyName . Пример присоединенного свойства — DockPanel.Dock это свойство. Если вы хотите создать свойство, которое можно использовать во всех DependencyObject типах, необходимо создать присоединенное свойство. Дополнительные сведения о присоединенных свойствах, включая создание, см. в разделе "Общие сведения о присоединенных свойствах".
Использование атрибута XAML
<object property="dependencyPropertyName"/>
-или-
<object property="ownerType.dependencyPropertyName"/>
-или-
<object property="attachedPropertyOwnerType.attachedPropertyName"/>
Значения XAML
dependencyPropertyName Строка, указывающая DependencyProperty.Name требуемое свойство зависимостей. Это может предшествовать префикс пространства имен XML, если свойство не находится в пространстве имен XML по умолчанию (дополнительные сведения см. в разделе "Пространства имен XAML" и "Сопоставление пространств имен" для WPF XAML).)
ownerType.
dependencyPropertyName Строка, указывающая тип владельца свойства зависимостей, точка (.), а затем — DependencyProperty.Name.
ownerType также может предшествовать префикс пространства имен XML. Это использование зависит от стилей и шаблонов с поздней привязкой, где владелец свойства зависимостей должен быть указан для синтаксического анализа контекста, так как TargetType он еще не известен. Дополнительные сведения см. в разделе "Стилизация" и "Шаблон".
attachedPropertyOwnerType
.attachedPropertyName Строка, указывающая владельца присоединенного свойства, точки (.), а затем имя присоединенного свойства.
attachedPropertyOwnerType также может предшествовать префикс пространства имен XML.
Поля
| Имя | Описание |
|---|---|
| UnsetValue |
Указывает статическое значение, которое используется системой свойств WPF, а не указывает на то, что свойство существует, но |
Свойства
| Имя | Описание |
|---|---|
| DefaultMetadata |
Возвращает метаданные по умолчанию свойства зависимостей. |
| GlobalIndex |
Возвращает внутренне созданное значение, однозначно определяющее свойство зависимостей. |
| Name |
Возвращает имя свойства зависимостей. |
| OwnerType |
Возвращает тип объекта, который зарегистрировал свойство зависимостей в системе свойств или добавил себя в качестве владельца свойства. |
| PropertyType |
Возвращает тип, который свойство зависимостей использует для его значения. |
| ReadOnly |
Возвращает значение, указывающее, является ли свойство зависимостей, определяемое этим DependencyProperty экземпляром, свойством зависимостей только для чтения. |
| ValidateValueCallback |
Возвращает обратный вызов проверки значения для свойства зависимостей. |
Методы
| Имя | Описание |
|---|---|
| AddOwner(Type, PropertyMetadata) |
Добавляет другой тип в качестве владельца свойства зависимостей, которое уже зарегистрировано, предоставляя метаданные свойства зависимостей для свойства зависимостей, так как он будет существовать в указанном типе владельца. |
| AddOwner(Type) |
Добавляет другой тип в качестве владельца свойства зависимостей, которое уже зарегистрировано. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Возвращает хэш-код для этого DependencyProperty. |
| GetMetadata(DependencyObject) |
Возвращает метаданные для этого свойства зависимостей, так как он существует в указанном экземпляре объекта. |
| GetMetadata(DependencyObjectType) |
Возвращает метаданные для этого свойства зависимостей, так как он существует в указанном типе. |
| GetMetadata(Type) |
Возвращает метаданные для этого свойства зависимостей, так как он существует в указанном существующем типе. |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| IsValidType(Object) |
Определяет, допустимо ли указанное значение для типа этого свойства зависимостей, как проверяется на тип свойства, указанный в регистрации исходного свойства зависимостей. |
| IsValidValue(Object) |
Определяет, принимает ли предоставленное значение для типа свойства с помощью проверки базового типа, а также потенциально, если он находится в пределах допустимого диапазона значений для этого типа. |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey) |
Предоставляет альтернативные метаданные для свойства зависимостей только для чтения, если он присутствует на экземплярах указанного типа, переопределяя метаданные, предоставленные в начальной регистрации свойств зависимостей. Чтобы избежать возникновения исключения, необходимо передать DependencyPropertyKey свойство зависимости только для чтения. |
| OverrideMetadata(Type, PropertyMetadata) |
Задает альтернативные метаданные для этого свойства зависимостей, если он присутствует в экземплярах указанного типа, переопределяя метаданные, существующие для свойства зависимостей, так как он наследовался от базовых типов. |
| Register(String, Type, Type, PropertyMetadata, ValidateValueCallback) |
Регистрирует свойство зависимостей с указанным именем свойства, типом свойства, типом владельца, метаданными свойства и обратным вызовом проверки значения для свойства. |
| Register(String, Type, Type, PropertyMetadata) |
Регистрирует свойство зависимостей с указанным именем свойства, типом свойства, типом владельца и метаданными свойств. |
| Register(String, Type, Type) |
Регистрирует свойство зависимостей с указанным именем свойства, типом свойства и типом владельца. |
| RegisterAttached(String, Type, Type, PropertyMetadata, ValidateValueCallback) |
Регистрирует присоединенное свойство с указанным типом свойства, типом владельца, метаданными свойства и обратным вызовом проверки значения для свойства. |
| RegisterAttached(String, Type, Type, PropertyMetadata) |
Регистрирует присоединенное свойство с указанным именем свойства, типом свойства, типом владельца и метаданными свойства. |
| RegisterAttached(String, Type, Type) |
Регистрирует присоединенное свойство с указанным именем свойства, типом свойства и типом владельца. |
| RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) |
Регистрирует присоединенное свойство только для чтения с указанным типом свойства, типом владельца, метаданными свойств и обратным вызовом проверки. |
| RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata) |
Регистрирует присоединенное свойство только для чтения с указанным типом свойства, типом владельца и метаданными свойств. |
| RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) |
Регистрирует свойство зависимости только для чтения с указанным типом свойства, типом владельца, метаданными свойства и обратным вызовом проверки. |
| RegisterReadOnly(String, Type, Type, PropertyMetadata) |
Регистрирует свойство зависимости только для чтения с указанным типом свойств, типом владельца и метаданными свойств. |
| ToString() |
Возвращает строковое представление свойства зависимости. |