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.

Esempi

Nell'esempio seguente vengono ottenuti i metadati predefiniti da vari campi delle proprietà di dipendenza, viene eseguita FrameworkPropertyMetadata una query sul valore di varie proprietà 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' WPFWPF ereditarietà del valore della proprietà è una funzionalità del sistema di proprietà a livello di Framework WPF, in cui alcune proprietà di dipendenza possono essere impostate localmente su un elemento in corrispondenza XAMLXAML della radice di un albero di elementi e quindi avere il relativo valore ereditato da tutti gli elementi all'interno dell'albero logico di 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 RegisterAttached sempre per registrare le proprietà specificate 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 Registerchiamata AddOwnera, OverrideMetadatao, 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. Se si tenta di impostare questa proprietà IsSealed dopo true che è in questa istanza di metadati, verrà generata 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 XAMLXAMLutilizzati in.Members of this class are not typically used in XAMLXAML.

Si applica a

Vedi anche