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


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
Атрибуты

Комментарии

DependencyProperty поддерживает следующие возможности в Windows Presentation Foundation (WPF):

  • Свойство можно задать в стиле. Дополнительные сведения см. в стилей и шаблонов.

  • Свойство можно задать с помощью привязки данных. Дополнительные сведения о свойствах зависимостей привязки данных см. в разделе Практическое руководство. Привязка свойств двух элементов управления.

  • Свойство можно задать с помощью динамической ссылки на ресурсы. Дополнительные сведения см. в ресурсов XAML.

  • Свойство может автоматически наследовать его значение от родительского элемента в дереве элементов. Дополнительные сведения см. в наследования значений свойств.

  • Свойство может быть анимировано. Дополнительные сведения см. в обзоре анимации.

  • Свойство может сообщать, когда было изменено предыдущее значение свойства, и значение свойства можно принуть. Дополнительные сведения см. в обратном вызове свойств зависимостей и проверке.

  • Свойство сообщает сведения в WPF, например, если изменение значения свойства должно требовать, чтобы система макета перекомпозировать визуальные элементы для элемента.

  • Свойство получает поддержку в конструкторе WPF для Visual Studio. Например, свойство можно изменить в окне свойств .

Дополнительные сведения о свойствах зависимостей см. в обзоре свойств зависимостей. Если вы хотите, чтобы свойства пользовательских типов поддерживали возможности в предыдущем списке, необходимо создать свойство зависимостей. Сведения о создании настраиваемых свойств зависимостей см. в разделе Настраиваемые свойства зависимостей.

Присоединенное свойство — это свойство, которое позволяет любому объекту сообщать сведения в тип, определяющий присоединенное свойство. В WPF любой тип, наследующий от DependencyObject, может использовать присоединенное свойство независимо от того, наследуется ли тип от типа, определяющего свойство. Присоединенное свойство — это функция языка XAML. Чтобы задать присоединенное свойство в XAML, используйтеownerType. синтаксис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, а не null, чтобы указать, что свойство существует, но не имеет значения, заданное системой свойств.

Свойства

DefaultMetadata

Возвращает метаданные по умолчанию свойства зависимостей.

GlobalIndex

Возвращает внутренне созданное значение, однозначно определяющее свойство зависимостей.

Name

Возвращает имя свойства зависимостей.

OwnerType

Возвращает тип объекта, который зарегистрировал свойство зависимостей в системе свойств или добавил себя в качестве владельца свойства.

PropertyType

Возвращает тип, который свойство зависимостей использует для его значения.

ReadOnly

Возвращает значение, указывающее, является ли свойство зависимостей, определяемое этим DependencyProperty экземпляром, свойством зависимостей только для чтения.

ValidateValueCallback

Возвращает обратный вызов проверки значения для свойства зависимостей.

Методы

AddOwner(Type)

Добавляет другой тип в качестве владельца свойства зависимостей, которое уже зарегистрировано.

AddOwner(Type, PropertyMetadata)

Добавляет другой тип в качестве владельца свойства зависимостей, которое уже зарегистрировано, предоставляя метаданные свойства зависимостей для свойства зависимостей, так как он будет существовать в указанном типе владельца.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Возвращает хэш-код для этого DependencyProperty.

GetMetadata(DependencyObject)

Возвращает метаданные для этого свойства зависимостей, так как он существует в указанном экземпляре объекта.

GetMetadata(DependencyObjectType)

Возвращает метаданные для этого свойства зависимостей, так как он существует в указанном типе.

GetMetadata(Type)

Возвращает метаданные для этого свойства зависимостей, так как он существует в указанном существующем типе.

GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
IsValidType(Object)

Определяет, допустимо ли указанное значение для типа этого свойства зависимостей, как проверяется на тип свойства, указанный в регистрации исходного свойства зависимостей.

IsValidValue(Object)

Определяет, принимает ли предоставленное значение для типа свойства с помощью проверки базового типа, а также потенциально, если он находится в пределах допустимого диапазона значений для этого типа.

MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
OverrideMetadata(Type, PropertyMetadata)

Задает альтернативные метаданные для этого свойства зависимостей, если он присутствует в экземплярах указанного типа, переопределяя метаданные, существующие для свойства зависимостей, так как он наследовался от базовых типов.

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Предоставляет альтернативные метаданные для свойства зависимостей только для чтения, если он присутствует на экземплярах указанного типа, переопределяя метаданные, предоставленные в начальной регистрации свойств зависимостей. Чтобы избежать возникновения исключения, необходимо передать DependencyPropertyKey для свойства зависимости только для чтения.

Register(String, Type, Type)

Регистрирует свойство зависимостей с указанным именем свойства, типом свойства и типом владельца.

Register(String, Type, Type, PropertyMetadata)

Регистрирует свойство зависимостей с указанным именем свойства, типом свойства, типом владельца и метаданными свойств.

Register(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Регистрирует свойство зависимостей с указанным именем свойства, типом свойства, типом владельца, метаданными свойства и обратным вызовом проверки значения для свойства.

RegisterAttached(String, Type, Type)

Регистрирует присоединенное свойство с указанным именем свойства, типом свойства и типом владельца.

RegisterAttached(String, Type, Type, PropertyMetadata)

Регистрирует присоединенное свойство с указанным именем свойства, типом свойства, типом владельца и метаданными свойства.

RegisterAttached(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Регистрирует присоединенное свойство с указанным типом свойства, типом владельца, метаданными свойства и обратным вызовом проверки значения для свойства.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

Регистрирует присоединенное свойство только для чтения с указанным типом свойства, типом владельца и метаданными свойств.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Регистрирует присоединенное свойство только для чтения с указанным типом свойства, типом владельца, метаданными свойств и обратным вызовом проверки.

RegisterReadOnly(String, Type, Type, PropertyMetadata)

Регистрирует свойство зависимости только для чтения с указанным типом свойств, типом владельца и метаданными свойств.

RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Регистрирует свойство зависимости только для чтения с указанным типом свойства, типом владельца, метаданными свойства и обратным вызовом проверки.

ToString()

Возвращает строковое представление свойства зависимости.

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

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