FrameworkPropertyMetadata.Inherits Proprietà

Definizione

Ottiene o imposta un valore che indica se il valore della proprietà di dipendenza è ereditabile.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

Valore della proprietà

true se il valore della proprietà è ereditabile. In caso contrario, false.true if the property value is inheritable; otherwise, false. Il valore predefinito è false.The default is false.

Eccezioni

Poiché sono già stati applicati a un'operazione della proprietà di dipendenza, questi metadati sono sealed e non è possibile impostarne le proprietà.The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

Esempio

Nell'esempio seguente vengono ottenuti i metadati predefiniti da vari campi delle proprietà di dipendenza, viene eseguita una query sul valore di diverse proprietà di FrameworkPropertyMetadata e vengono utilizzate le informazioni per popolare una tabella per implementare un "browser dei metadati".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")

Commenti

L'ereditarietà del valore della proprietà è una funzionalità del sistema di proprietà WPFWPF a livello di Framework WPF, in cui alcune proprietà di dipendenza possono essere impostate localmente su un elemento in corrispondenza della radice di un albero di elementi XAMLXAML e quindi avere il rispettivo valore ereditato da tutti gli elementi all'interno dell'albero logico degli elementi figlio che possiedono anche tale proprietà.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'ereditarietà del valore della proprietà non è abilitata per impostazione predefinita e l'abilitazione ha alcune implicazioni sulle prestazioni.Property value inheritance is not enabled by default, and enabling it does have some performance implications. Per informazioni dettagliate, vedere Ereditarietà del valore della proprietà.For details, see Property Value Inheritance.

Nota

Sebbene l'ereditarietà del valore della proprietà possa sembrare funzionante per le proprietà di dipendenza non associate, il comportamento di ereditarietà per una proprietà non associata tramite determinate divisioni di oggetti Object nell'albero di runtime non è definito.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. Usare sempre RegisterAttached per registrare le proprietà in cui si specifica Inherits nei metadati.Always use RegisterAttached to register properties where you specify Inherits in the metadata.

Le proprietà nelle classi derivate di PropertyMetadata vengono in genere definite nel modello a oggetti come di lettura/scrittura.Properties on derived classes of PropertyMetadata are typically defined in the object model as read-write. In modo che possano essere modificate dopo l'inizializzazione dell'istanza.This is so they can be adjusted after initialization of the instance. Tuttavia, dopo che i metadati sono stati utilizzati come parte di una chiamata a Register, AddOwnero OverrideMetadata, il sistema di proprietà sigillerà l'istanza di metadati e le proprietà che comunicano le specifiche dei metadati sono ora considerate non modificabili.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. Il tentativo di impostare questa proprietà dopo IsSealed è true in questa istanza di metadati genererà un'eccezione.Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

Utilizzo del testo XAMLXAML Text Usage

I membri di questa classe non vengono in genere utilizzati in XAMLXAML.Members of this class are not typically used in XAMLXAML.

Si applica a

Vedi anche