FrameworkPropertyMetadata.Inherits FrameworkPropertyMetadata.Inherits FrameworkPropertyMetadata.Inherits FrameworkPropertyMetadata.Inherits Property

Определение

Получает или задает значение, которое указывает, наследуется ли значение свойства зависимостей.Gets or sets a value that indicates whether the value of the dependency property is inheritable.

public:
 property bool Inherits { bool get(); void set(bool value); };
public bool Inherits { get; set; }
member this.Inherits : bool with get, set
Public Property Inherits As Boolean

Значение свойства

Значение true, если значение свойства может быть унаследовано; в противном случае — значение false.true if the property value is inheritable; otherwise, false. Значение по умолчанию — false.The default is false.

Исключения

Метаданные уже применены к операции свойства зависимостей. Поэтому метаданные запечатаны, а их свойства нельзя задать.The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

Примеры

Следующий пример получает метаданные по умолчанию из различных полей свойств зависимости, запрашивает значения различных FrameworkPropertyMetadata свойств в нем и использует эти сведения для заполнения таблицы для реализации "браузера метаданных".The following example obtains the default metadata from various dependency property fields, queries the value of various FrameworkPropertyMetadata properties on it, and uses the information to populate a table to implement a "metadata browser".

pm = dp.GetMetadata(dp.OwnerType);
pm = dp.GetMetadata(dp.OwnerType)
FrameworkPropertyMetadata fpm = pm as FrameworkPropertyMetadata;
if (fpm!=null) {
    AffectsArrange.Text = (fpm.AffectsArrange) ? "Yes" : "No";
    AffectsMeasure.Text = (fpm.AffectsMeasure) ? "Yes" : "No";
    AffectsRender.Text = (fpm.AffectsRender) ? "Yes" : "No";
    Inherits.Text = (fpm.Inherits) ? "Yes" : "No";
    IsDataBindingAllowed.Text = (fpm.IsDataBindingAllowed) ? "Yes" : "No";
    BindsTwoWayByDefault.Text = (fpm.BindsTwoWayByDefault) ? "Yes" : "No";
}         
Dim fpm As FrameworkPropertyMetadata = TryCast(pm, FrameworkPropertyMetadata)
If fpm IsNot Nothing Then
	AffectsArrange.Text = If((fpm.AffectsArrange), "Yes", "No")
	AffectsMeasure.Text = If((fpm.AffectsMeasure), "Yes", "No")
	AffectsRender.Text = If((fpm.AffectsRender), "Yes", "No")
              [Inherits].Text = If((fpm.Inherits), "Yes", "No")
	IsDataBindingAllowed.Text = If((fpm.IsDataBindingAllowed), "Yes", "No")
	BindsTwoWayByDefault.Text = If((fpm.BindsTwoWayByDefault), "Yes", "No")

Комментарии

Наследование значений свойств — это функция WPFWPF системы свойств на уровне платформы WPF, с помощью которой определенные свойства зависимостей могут быть заданы локально на элементе в корне XAMLXAML дерева элементов или рядом с ним, а значения наследуются все элементы в логическом дереве дочерних элементов, которые также обладают этим свойством.Property value inheritance is a feature of the WPFWPF property system at the WPF framework level, whereby certain dependency properties can be locally set on an element at or near the root of a XAMLXAML element tree and then have their value inherited by all elements within the logical tree of child elements that also possess that property. Наследование значений свойств не включено по умолчанию, и включение этого параметра влияет на производительность.Property value inheritance is not enabled by default, and enabling it does have some performance implications. Подробнее см. в разделе Наследование значения свойства.For details, see Property Value Inheritance.

Примечание

Несмотря на то, что наследование значений свойств может работать для неприсоединенных свойств зависимостей, поведение наследования для неприсоединенного свойства через определенные подразделения объектов в дереве среды выполнения не определено.Although property value inheritance might appear to work for nonattached dependency properties, the inheritance behavior for a nonattached property through certain object-object divisions in the runtime tree is undefined. Всегда используйте RegisterAttached для регистрации свойств, в которых Inherits указывается в метаданных.Always use RegisterAttached to register properties where you specify Inherits in the metadata.

Свойства в производных классах PropertyMetadata обычно определяются в объектной модели как доступные для чтения и записи.Properties on derived classes of PropertyMetadata are typically defined in the object model as read-write. Это значит, что их можно скорректировать после инициализации экземпляра.This is so they can be adjusted after initialization of the instance. Однако после того, как метаданные будут потреблены как часть вызова метода Register, AddOwnerили OverrideMetadata, система свойств зазапечатана, что экземпляр метаданных и свойства, передающие особенности метаданных, теперь считаются неизменяемыми.However, after the metadata is consumed as part of a call to Register, AddOwner, or OverrideMetadata, the property system will seal that metadata instance and properties that convey the specifics of the metadata are now considered immutable. Попытка установить это свойство после IsSealed true в этом экземпляре метаданных вызовет исключение.Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

Использование текста XAMLXAML Text Usage

Члены этого класса обычно не используются в XAMLXAML.Members of this class are not typically used in XAMLXAML.

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

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