FrameworkPropertyMetadata.Inherits Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob der Wert für die Abhängigkeitseigenschaft vererbbar ist, oder legt ihn fest.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

Eigenschaftswert

Boolean

true, wenn der Eigenschaftswert vererbbar ist, andernfalls false.true if the property value is inheritable; otherwise, false. Der Standardwert lautet false.The default is false.

Ausnahmen

Die Metadaten wurden bereits auf einen Vorgang der Abhängigkeitseigenschaft angewendet, sodass Metadaten versiegelt sind und keine Eigenschaften für Metadaten festgelegt werden können.The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

Beispiele

Im folgenden Beispiel werden die Standard Metadaten aus verschiedenen Abhängigkeits Eigenschaften Feldern abgerufen, der Wert verschiedener FrameworkPropertyMetadata Eigenschaften abgefragt und die Informationen zum Auffüllen einer Tabelle zum Implementieren eines "metadatenbrowsers" verwendet.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")

Hinweise

Die Vererbung von Eigenschafts Werten ist eine Funktion des WPFWPF-Eigenschaften Systems auf der WPF-Frameworkebene, bei der bestimmte Abhängigkeits Eigenschaften lokal für ein Element in oder in der Nähe des Stamms einer XAMLXAML Elementstruktur festgelegt werden können und deren Wert dann von allen Elementen in der logischen Struktur von untergeordneten Elementen geerbt wird, die auch diese Eigenschaft besitzen.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. Die Vererbung von Eigenschafts Werten ist standardmäßig nicht aktiviert, und das Aktivieren der Eigenschaft wirkt sich auf die Leistung aus.Property value inheritance is not enabled by default, and enabling it does have some performance implications. Weitere Informationen finden Sie unter Vererbung von Eigenschaftswerten.For details, see Property Value Inheritance.

Hinweis

Obwohl die Vererbung von Eigenschafts Werten für nicht angefügte Abhängigkeits Eigenschaften aussehen könnte, ist das Vererbungs Verhalten für eine nicht angefügte Eigenschaft über bestimmte Objekt-Objekt-Bereiche in der Laufzeitstruktur nicht definiert.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. Verwenden Sie immer RegisterAttached, um Eigenschaften zu registrieren, bei denen Sie Inherits in den Metadaten angeben.Always use RegisterAttached to register properties where you specify Inherits in the metadata.

Eigenschaften für abgeleitete Klassen von PropertyMetadata werden in der Regel im Objektmodell als Lese-/Schreibzugriff definiert.Properties on derived classes of PropertyMetadata are typically defined in the object model as read-write. So können Sie nach der Initialisierung der-Instanz angepasst werden.This is so they can be adjusted after initialization of the instance. Nachdem die Metadaten jedoch im Rahmen eines Aufrufes Register, AddOwneroder OverrideMetadataverarbeitet wurden, versiegelt das Eigenschaften System, dass die Metadateninstanz und die Eigenschaften, die die Einzelheiten der Metadaten vermitteln, jetzt als unveränderlich angesehen werden.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. Wenn Sie versuchen, diese Eigenschaft festzulegen, nachdem IsSealed in dieser Metadateninstanz true ist, wird eine Ausnahme ausgelöst.Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

Verwendung von XAML-TextXAML Text Usage

Member dieser Klasse werden in der Regel nicht in XAMLXAMLverwendet.Members of this class are not typically used in XAMLXAML.

Gilt für:

Siehe auch