Dependency Object. Coerce Value(DependencyProperty) Метод
Определение
Приводит значение указанного свойства зависимостей. Coerces the value of the specified dependency property. Это осуществляется путем вызова какой-либо функции CoerceValueCallback, указанной в метаданных свойства зависимостей, которое существует в вызывающем объекте DependencyObject. This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.
Параметры
Идентификатор приводимого свойства зависимостей. The identifier for the dependency property to coerce.
Исключения
Указанный параметр dp или его значение недопустимы, или их не существует. The specified dp or its value were invalid or do not exist.
Примеры
В следующем примере вызывается CoerceValue в PropertyChangedCallback реализации, которая используется в качестве PropertyChangedCallback для различных свойств зависимостей в том же классе. The following example calls CoerceValue within a PropertyChangedCallback implementation that is used as the PropertyChangedCallback for a different dependency properties on the same class. Это распространенный шаблон для представления зависимостей значений true между свойствами зависимостей. This is a common pattern for introducing true value dependencies between dependency properties.
Комментарии
В дополнение к явному вызову метода CoerceValue CoerceValueCallback для свойства зависимостей также вызывается внутренне при повторной оценке значения свойства зависимостей системой свойств WPF. In addition to being explicitly invoked through calling CoerceValue, the CoerceValueCallback for a dependency property is also invoked internally whenever the dependency property value is being re-evaluated by the WPF property system.
При вызове CoerceValue метода в конечном итоге вызывается обратный вызов приводимого значения для указанного свойства. When you invoke the CoerceValue method, you are ultimately invoking the coerce value callback for the property that you specify. Как правило, вызов выполняется CoerceValue только в том случае, если известно, что обратный вызов приводимого значения существует, и если известно, что условия обратного вызова приводятся к приведению. Typically you will invoke CoerceValue only if you know that a coerce value callback exists, and if you know the callback’s criteria for coercion.
Наиболее распространенным сценарием для вызова CoerceValue является обработка класса или обратные вызовы изменения свойств связанных свойств, которые влияют на значения друг друга. The most common scenario for calling CoerceValue is within class handling or property change callbacks of related properties that influence each other’s values in a dependent way. Дополнительные сведения см. в разделе Проверка и обратные вызовы свойства зависимостей. For more information, see Dependency Property Callbacks and Validation.
Dependency Property Класс
Определение
Представляет свойство, которое можно задать с помощью методов, например стили, привязки данных, анимации и наследование. Represents a property that can be set through methods such as, styling, data binding, animation, and inheritance.
Комментарии
DependencyPropertyПоддерживает следующие возможности в Windows Presentation Foundation (WPF): A DependencyProperty supports the following capabilities in 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.
Свойство сообщает сведения в WPF, например, должно ли изменение значения свойства требовать от системы макета перекомпозицию визуальных элементов для элемента. The property reports information to WPF, such as whether changing a property value should require the layout system to recompose the visuals for an element.
Свойство получает поддержку в конструкторе WPF для Visual Studio. The property receives support in the WPF 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. В WPF любой тип, наследующий от, DependencyObject может использовать присоединенное свойство независимо от того, наследуется ли тип от типа, определяющего свойство. In WPF, any type that inherits from DependencyObject can use an attached property regardless of whether the type inherits from the type that defines the property. Присоединенное свойство — это функция языка XAML. An attached property is a feature of the XAML language. Чтобы задать присоединенное свойство в XAML, используйте параметр OwnerType. PropertyName , синтаксис. To set an attached property in XAML, 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.
Использование атрибута XAML XAML Attribute Usage
Значения XAML XAML 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 . dependencyPropertyName ownerType . 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.
Задает статическое значение, используемое системой свойств WPF, а не null для указания, что свойство существует, но не имеет значения, установленного системой свойств. Specifies a static value that is used by the WPF property system rather than null to indicate that the property exists, but does not have its value set by the property system.
Свойства
Возвращает метаданные свойства зависимостей по умолчанию. Gets the default metadata of the dependency property.
Возвращает внутреннее сгенерированное значение, уникальным образом идентифицирующее свойство зависимостей. Gets an internally generated value that uniquely identifies the dependency property.
Возвращает имя свойства зависимостей. Gets the name of the dependency property.
Получает тип объекта, зарегистрировавшего свойство зависимостей в системе свойств или добавившего себя в качестве владельца свойства. Gets the type of the object that registered the dependency property with the property system, or added itself as owner of the property.
Возвращает тип, используемый свойством зависимостей для его значения. Gets the type that the dependency property uses for its value.
Возвращает значение, указывающее, является ли свойство зависимостей, идентифицируемое данным экземпляром DependencyProperty, доступным только для чтения. Gets a value that indicates whether the dependency property identified by this DependencyProperty instance is a read-only dependency property.
Возвращает обратный вызов для проверки значения свойства зависимостей. Gets the value validation callback for the dependency property.
Методы
Добавляет другой тип в качестве владельца свойства зависимостей, которое уже зарегистрировано. Adds another type as an owner of a dependency property that has already been registered.
Добавляет другой тип в качестве владельца свойства зависимостей, который уже был зарегистрирован, предоставляя метаданные свойства зависимости для свойства зависимостей в том виде, в котором оно будет существовать в предоставленном типе владельца. 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.
Определяет, равен ли указанный объект текущему объекту. Determines whether the specified object is equal to the current object.
(Унаследовано от Object)
Возвращает хэш-код для данного свойства DependencyProperty. Returns a hash code for this DependencyProperty.
Возвращает метаданные для этого свойства зависимостей в том виде,в котором оно существует в указанном экземпляре объекта. Returns the metadata for this dependency property as it exists on the specified object instance.
Возвращает метаданные для этого свойства зависимостей в том виде, в каком они представлены в указанном типе. Returns the metadata for this dependency property as it exists on a specified type.
Возвращает метаданные для этого свойства зависимостей в том виде, в котором оно представлено в указанном существующем типе. Returns the metadata for this dependency property as it exists on a specified existing type.
Возвращает объект Type для текущего экземпляра. Gets the Type of the current instance.
(Унаследовано от 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.
Определяет, приемлемо ли указанное значение для типа свойства, путем базовой проверки типа, а также, находится ли оно потенциально в пределах разрешенного диапазона значений для данного типа. 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.
Создает неполную копию текущего объекта Object. Creates a shallow copy of the current Object.
(Унаследовано от Object)
Задает альтернативные метаданные для этого свойства зависимостей, если оно присутствует в экземплярах указанного типа, переопределяя метаданные, которые существовали для данного свойства зависимостей в том виде, в котором оно было унаследовано от базовых типов. 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.
Предоставляет альтернативные метаданные для свойства зависимостей, доступного только для чтения, когда оно присутствует в экземплярах указанного типа, переопределяя метаданные, предоставленные при первоначальной регистрации свойства зависимостей. 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.
Регистрирует свойство зависимостей с указанием имени свойства, типа свойства и типа владельца. Registers a dependency property with the specified property name, property type, and owner type.
Регистрирует свойство зависимостей с указанным именем свойства, типом свойства, типом владельца и метаданными свойства. Registers a dependency property with the specified property name, property type, owner type, and property metadata.
Регистрирует свойство зависимостей с указанным именем свойства, типом свойства, типом владельца, метаданными свойства и обратным вызовом проверки значения для свойства. Registers a dependency property with the specified property name, property type, owner type, property metadata, and a value validation callback for the property.
Регистрирует присоединенное свойство с указанием имени свойства, типа свойства и типа владельца. Registers an attached property with the specified property name, property type, and owner type.
Регистрирует присоединенное свойство с указанным именем и типом свойства, типом владельца и метаданными свойства. Registers an attached property with the specified property name, property type, owner type, and property metadata.
Регистрирует присоединенное свойство с указанным типом свойства, типом владельца, метаданными свойства и обратным вызовом для проверки значения свойства. Registers an attached property with the specified property type, owner type, property metadata, and value validation callback for the property.
Регистрирует доступное только для чтения присоединенное свойство с указанным типом свойства, типом владельца и метаданными свойства. Registers a read-only attached property, with the specified property type, owner type, and property metadata.
Регистрирует доступное только для чтения присоединенное свойство с указанным типом свойства, типом владельца, метаданными свойства и обратным вызовом для проверки. Registers a read-only attached property, with the specified property type, owner type, property metadata, and a validation callback.
Регистрирует доступное только для чтения свойство зависимостей с указанным типом свойства, типом владельца и метаданными свойства. Registers a read-only dependency property, with the specified property type, owner type, and property metadata.
Регистрирует доступное только для чтения свойство зависимостей с указанным типом свойства, типом владельца, метаданными свойства и обратным вызовом для проверки. Registers a read-only dependency property, with the specified property type, owner type, property metadata, and a validation callback.
Возвращает строковое представление свойства зависимостей. Returns the string representation of the dependency property.