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

Définition

Obtient ou définit une valeur qui indique si la valeur de la propriété de dépendance peut être héritée.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

Valeur de propriété

true si la valeur de la propriété peut être héritée ; sinon, false.true if the property value is inheritable; otherwise, false. La valeur par défaut est false.The default is false.

Exceptions

Les métadonnées ont déjà été appliquées à une opération de propriété de dépendance : elles sont donc sealed et les propriétés des métadonnées ne peuvent pas être définies.The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

Exemples

L’exemple suivant récupère les métadonnées à partir de la dépendance différents champs de propriété, interroge la valeur de divers FrameworkPropertyMetadata propriétés dessus et utilise les informations pour remplir une table pour implémenter un « navigateur de métadonnées ».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")

Remarques

L’héritage de valeur de propriété est une fonctionnalité de la WPFWPF système de propriétés au niveau du framework WPF, par laquelle certaines propriétés de dépendance peuvent être définies localement sur un élément à ou près de la racine un XAMLXAML élément d’arborescence et ont leur valeur héritée par tous les éléments dans l’arborescence logique d’éléments enfants qui possèdent également cette propriété.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. L’héritage de valeur de propriété n’est pas activé par défaut, et son activation a certaines conséquences sur les performances.Property value inheritance is not enabled by default, and enabling it does have some performance implications. Pour plus d’informations, consultez Héritage de la valeur de propriété.For details, see Property Value Inheritance.

Notes

Bien que l’héritage de valeur de propriété peut sembler fonctionner pour les propriétés de dépendance non jointes, le comportement de l’héritage d’une propriété non jointes par certaines divisions objet-objet dans l’arborescence d’exécution est indéfini.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. Utilisez toujours RegisterAttached pour inscrire des propriétés où vous spécifiez Inherits dans les métadonnées.Always use RegisterAttached to register properties where you specify Inherits in the metadata.

Propriétés des classes dérivées de PropertyMetadata sont généralement définies dans le modèle objet en lecture-écriture.Properties on derived classes of PropertyMetadata are typically defined in the object model as read-write. Il s’agit donc ils peuvent être ajustées après initialisation de l’instance.This is so they can be adjusted after initialization of the instance. Toutefois, une fois que les métadonnées sont consommées dans le cadre d’un appel à Register, AddOwner, ou OverrideMetadata, le système de propriétés scelle l’instance des métadonnées et propriétés qui transmettent les caractéristiques des métadonnées sont maintenant considérées comme immuables.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. Tentative de définition de cette propriété après IsSealed est true sur ces métadonnées instance lève une exception.Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

Utilisation de texte XAMLXAML Text Usage

Membres de cette classe ne sont généralement pas utilisés dans XAMLXAML.Members of this class are not typically used in XAMLXAML.

S’applique à

Voir aussi