DependencyProperty Класс

Определение

Представляет свойство, которое можно задать с помощью методов, например стили, привязки данных, анимации и наследование.Represents a property that can be set through methods such as, styling, data binding, animation, and inheritance.

public ref class DependencyProperty sealed
[System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
[System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
public sealed class DependencyProperty
type DependencyProperty = class
Public NotInheritable Class DependencyProperty
Наследование
DependencyProperty
Атрибуты

Комментарии

DependencyProperty поддерживает следующие возможности в Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF).A DependencyProperty supports the following capabilities in Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF):

  • Свойство может быть задано в стиле.The property can be set in a style. Более подробную информацию см. в разделе Стилизация и использование шаблонов.For more information, see Styling and Templating.

  • Это свойство можно задать с помощью привязки данных.The property can be set through data binding. Дополнительные сведения о свойствах зависимостей привязки данных см. в разделе как Привяжите свойства двух элементов управления.For more information about data binding dependency properties, see How to: Bind the Properties of Two Controls.

  • Для свойства можно задать ссылку на динамический ресурс.The property can be set with a dynamic resource reference. Дополнительные сведения см. в разделе Ресурсы XAML.For more information, see XAML Resources.

  • Свойство может наследовать свое значение автоматически от родительского элемента в дереве элементов.The property can inherit its value automatically from a parent element in the element tree. Дополнительные сведения см. в разделе Наследование значения свойства.For more information, see Property Value Inheritance.

  • Свойство может быть анимировано.The property can be animated. Более подробную информацию см. в разделе Общие сведения об эффектах анимации.For more information, see Animation Overview.

  • Свойство может сообщать о том, что предыдущее значение свойства было изменено и значение свойства может быть приведено.The property can report when the previous value of the property has been changed and the property value can be coerced. Дополнительные сведения см. в разделе Проверка и обратные вызовы свойства зависимостей.For more information, see Dependency Property Callbacks and Validation.

  • Свойство сообщает сведения WPFWPF, например, должно ли изменение значения свойства требовать от системы макета перекомпозицию визуальных элементов для элемента.The property reports information to WPFWPF, such as whether changing a property value should require the layout system to recompose the visuals for an element.

  • Свойство получает поддержку в Конструктор WPF для Visual StudioWPF Designer for Visual Studio.The property receives support in the Конструктор WPF для Visual StudioWPF Designer for Visual Studio. Например, свойство можно изменить в окне Свойства .For example, the property can be edited in the Properties window.

Дополнительные сведения о свойствах зависимостей см. в разделе Общие сведения о свойствах зависимостей.To learn more about dependency properties, see Dependency Properties Overview. Если требуется, чтобы свойства пользовательских типов поддерживали возможности из предыдущего списка, следует создать свойство зависимостей.If you want properties on your custom types to support the capabilities in the preceding list, you should create a dependency property. Сведения о создании пользовательских свойств зависимостей см. в разделе пользовательские свойства зависимостей.To learn how to create custom dependency properties, see Custom Dependency Properties.

Присоединенное свойство — это свойство, которое позволяет любому объекту передавать сведения в тип, определяющий присоединенное свойство.An attached property is a property that enables any object to report information to the type that defines the attached property. В WPFWPFлюбой тип, наследующий от DependencyObject, может использовать присоединенное свойство независимо от того, наследуется ли тип от типа, определяющего свойство.In WPFWPF, any type that inherits from DependencyObject can use an attached property regardless of whether the type inherits from the type that defines the property. Присоединенное свойство — это функция языка XAMLXAML.An attached property is a feature of the XAMLXAML language. Чтобы задать присоединенное свойство в XAMLXAML, используйте параметр OwnerType. PropertyName , синтаксис.To set an attached property in XAMLXAML, use the ownerType.propertyName syntax. Примером вложенного свойства является свойство DockPanel.Dock.An example of an attached property is the DockPanel.Dock property. Если необходимо создать свойство, которое можно использовать для всех типов DependencyObject, следует создать присоединенное свойство.If you want to create a property that can be used on all DependencyObject types, then you should create an attached property. Дополнительные сведения о вложенных свойствах, включая способы их создания, см. в разделе Общие сведения о вложенных свойствах.To learn more about attached properties, including how to create them, see Attached Properties Overview.

Использование атрибута XAMLXAML Attribute Usage

<object property="dependencyPropertyName"/>  

- или --or-

<object property="ownerType.dependencyPropertyName"/>  

- или --or-

<object property="attachedPropertyOwnerType.attachedPropertyName"/>  

Значения XAMLXAML Values

dependencyPropertyName
Строка, указывающая DependencyProperty.Name требуемого свойства зависимостей.A string that specifies the DependencyProperty.Name of the desired dependency property. Перед ним может стоять префикс пространства имен XML, если свойство отсутствует в пространстве имен XML по умолчанию (Дополнительные сведения см. в разделе пространства имен XAML и сопоставление пространств имен для WPF XAML.)This can be preceded by an XML namespace prefix if the property is not in the default XML namespace (for details, see XAML Namespaces and Namespace Mapping for WPF XAML.)

ownerType.dependencyPropertyNameownerType.dependencyPropertyName
Строка, указывающая тип владельца свойства зависимостей, точка (.), а затем DependencyProperty.Name.A string that specifies an owner type of a dependency property, a dot (.), then the DependencyProperty.Name. ownerType также может предшествовать префикс пространства имен XML.ownerType can also be preceded by an XML namespace prefix. Это использование относится к стилям и шаблонам с поздним связыванием, где владелец свойства зависимостей должен быть указан для контекста синтаксического анализа, так как TargetType еще не известны.This usage is particular to late-bound styles and templates, where the owner of the dependency property must be specified for parsing context because the TargetType is not yet known. Более подробную информацию см. в разделе Стилизация и использование шаблонов.For more information, see Styling and Templating.

attachedPropertyOwnerType .attachedPropertyOwnerType . attachedPropertyName
Строка, указывающая владельца присоединенного свойства, точки (.), а затем имя присоединенного свойства.A string that specifies the owner of an attached property, a dot (.), then the attached property name. attachedPropertyOwnerType также может предшествовать префикс пространства имен XML.attachedPropertyOwnerType can also be preceded by an XML namespace prefix.

Поля

UnsetValue

Задает статическое значение, используемое системой свойств WPFWPF вместо null для указания того, что свойство существует, но его значение не задано системой свойств.Specifies a static value that is used by the WPFWPF property system rather than null to indicate that the property exists, but does not have its value set by the property system.

Свойства

DefaultMetadata

Возвращает метаданные свойства зависимостей по умолчанию.Gets the default metadata of the dependency property.

GlobalIndex

Возвращает внутреннее сгенерированное значение, уникальным образом идентифицирующее свойство зависимостей.Gets an internally generated value that uniquely identifies the dependency property.

Name

Возвращает имя свойства зависимостей.Gets the name of the dependency property.

OwnerType

Получает тип объекта, зарегистрировавшего свойство зависимостей в системе свойств или добавившего себя в качестве владельца свойства.Gets the type of the object that registered the dependency property with the property system, or added itself as owner of the property.

PropertyType

Возвращает тип, используемый свойством зависимостей для его значения.Gets the type that the dependency property uses for its value.

ReadOnly

Возвращает значение, указывающее, является ли свойство зависимостей, идентифицируемое данным экземпляром DependencyProperty, доступным только для чтения.Gets a value that indicates whether the dependency property identified by this DependencyProperty instance is a read-only dependency property.

ValidateValueCallback

Возвращает обратный вызов для проверки значения свойства зависимостей.Gets the value validation callback for the dependency property.

Методы

AddOwner(Type)

Добавляет другой тип в качестве владельца свойства зависимостей, которое уже зарегистрировано.Adds another type as an owner of a dependency property that has already been registered.

AddOwner(Type, PropertyMetadata)

Добавляет другой тип в качестве владельца свойства зависимостей, который уже был зарегистрирован, предоставляя метаданные свойства зависимости для свойства зависимостей в том виде, в котором оно будет существовать в предоставленном типе владельца.Adds another type as an owner of a dependency property that has already been registered, providing dependency property metadata for the dependency property as it will exist on the provided owner type.

Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

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

Возвращает хэш-код для данного свойства DependencyProperty.Returns a hash code for this DependencyProperty.

GetMetadata(DependencyObject)

Возвращает метаданные для этого свойства зависимостей в том виде,в котором оно существует в указанном экземпляре объекта.Returns the metadata for this dependency property as it exists on the specified object instance.

GetMetadata(DependencyObjectType)

Возвращает метаданные для этого свойства зависимостей в том виде, в каком они представлены в указанном типе.Returns the metadata for this dependency property as it exists on a specified type.

GetMetadata(Type)

Возвращает метаданные для этого свойства зависимостей в том виде, в котором оно представлено в указанном существующем типе.Returns the metadata for this dependency property as it exists on a specified existing type.

GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

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

Определяет, приемлемо ли указанное значение для типа данного свойства зависимостей, проверяя его по типу свойства, указанного при исходной регистрации свойства зависимостей.Determines whether a specified value is acceptable for this dependency property's type, as checked against the property type provided in the original dependency property registration.

IsValidValue(Object)

Определяет, приемлемо ли указанное значение для типа свойства, путем базовой проверки типа, а также, находится ли оно потенциально в пределах разрешенного диапазона значений для данного типа.Determines whether the provided value is accepted for the type of property through basic type checking, and also potentially if it is within the allowed range of values for that type.

MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Задает альтернативные метаданные для этого свойства зависимостей, если оно присутствует в экземплярах указанного типа, переопределяя метаданные, которые существовали для данного свойства зависимостей в том виде, в котором оно было унаследовано от базовых типов.Specifies alternate metadata for this dependency property when it is present on instances of a specified type, overriding the metadata that existed for the dependency property as it was inherited from base types.

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Предоставляет альтернативные метаданные для свойства зависимостей, доступного только для чтения, когда оно присутствует в экземплярах указанного типа, переопределяя метаданные, предоставленные при первоначальной регистрации свойства зависимостей.Supplies alternate metadata for a read-only dependency property when it is present on instances of a specified type, overriding the metadata that was provided in the initial dependency property registration. Вы должны передать DependencyPropertyKey для свойства зависимостей, доступного только для чтения, чтобы избежать возникновения исключения.You must pass the DependencyPropertyKey for the read-only dependency property to avoid raising an exception.

Register(String, Type, Type)

Регистрирует свойство зависимостей с указанием имени свойства, типа свойства и типа владельца.Registers a dependency property with the specified property name, property type, and owner type.

Register(String, Type, Type, PropertyMetadata)

Регистрирует свойство зависимостей с указанным именем свойства, типом свойства, типом владельца и метаданными свойства.Registers a dependency property with the specified property name, property type, owner type, and property metadata.

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

Регистрирует свойство зависимостей с указанным именем свойства, типом свойства, типом владельца, метаданными свойства и обратным вызовом проверки значения для свойства.Registers a dependency property with the specified property name, property type, owner type, property metadata, and a value validation callback for the property.

RegisterAttached(String, Type, Type)

Регистрирует присоединенное свойство с указанием имени свойства, типа свойства и типа владельца.Registers an attached property with the specified property name, property type, and owner type.

RegisterAttached(String, Type, Type, PropertyMetadata)

Регистрирует присоединенное свойство с указанным именем и типом свойства, типом владельца и метаданными свойства.Registers an attached property with the specified property name, property type, owner type, and property metadata.

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

Регистрирует присоединенное свойство с указанным типом свойства, типом владельца, метаданными свойства и обратным вызовом для проверки значения свойства.Registers an attached property with the specified property type, owner type, property metadata, and value validation callback for the property.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

Регистрирует доступное только для чтения присоединенное свойство с указанным типом свойства, типом владельца и метаданными свойства.Registers a read-only attached property, with the specified property type, owner type, and property metadata.

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

Регистрирует доступное только для чтения присоединенное свойство с указанным типом свойства, типом владельца, метаданными свойства и обратным вызовом для проверки.Registers a read-only attached property, with the specified property type, owner type, property metadata, and a validation callback.

RegisterReadOnly(String, Type, Type, PropertyMetadata)

Регистрирует доступное только для чтения свойство зависимостей с указанным типом свойства, типом владельца и метаданными свойства.Registers a read-only dependency property, with the specified property type, owner type, and property metadata.

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

Регистрирует доступное только для чтения свойство зависимостей с указанным типом свойства, типом владельца, метаданными свойства и обратным вызовом для проверки.Registers a read-only dependency property, with the specified property type, owner type, property metadata, and a validation callback.

ToString()

Возвращает строковое представление свойства зависимостей.Returns the string representation of the dependency property.

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

Дополнительно