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


FrameworkPropertyMetadata.Inherits Свойство

Определение

Получает или задает значение, которое указывает, наследуется ли значение свойства зависимостей.

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. Значение по умолчанию — false.

Исключения

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

Примеры

Следующий пример получает метаданные по умолчанию из различных полей свойств зависимостей, запрашивает значения различных FrameworkPropertyMetadata свойств и использует эти сведения для заполнения таблицы для реализации "браузера метаданных".

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")

Комментарии

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

Примечание

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

Свойства производных PropertyMetadata классов обычно определяются в объектной модели как чтение и запись. Это позволяет настроить их после инициализации экземпляра. Однако после использования метаданных в рамках вызова Register, AddOwnerили OverrideMetadataсистема свойств запечатывает этот экземпляр метаданных и свойства, которые передают особенности метаданных, теперь считаются неизменяемыми. Попытка задать это свойство после IsSealed того, как находится true в этом экземпляре метаданных, вызовет исключение.

Использование текста XAML

Члены этого класса обычно не используются в XAML.

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

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