FrameworkPropertyMetadata.Inherits Proprietà

Definizione

Ottiene o imposta un valore che indica se il valore della proprietà di dipendenza è ereditabile.

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. Il valore predefinito è false.

Eccezioni

Poiché sono già stati applicati a un'operazione della proprietà di dipendenza, questi metadati sono sealed e non è possibile impostarne le proprietà.

Esempio

Nell'esempio seguente vengono ottenuti i metadati predefiniti da vari campi delle proprietà di dipendenza, viene eseguita una query sul valore di varie FrameworkPropertyMetadata proprietà e vengono utilizzate le informazioni per popolare una tabella per implementare un "browser metadati".

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à WPF a livello di framework WPF, in cui alcune proprietà di dipendenza possono essere impostate localmente su un elemento in corrispondenza o vicino alla radice di un albero di elementi XAML e quindi hanno il relativo valore ereditato da tutti gli elementi all'interno dell'albero logico degli elementi figlio che possiedono anche tale proprietà. L'ereditarietà del valore della proprietà non è abilitata per impostazione predefinita e l'abilitazione ha alcune implicazioni sulle prestazioni. Per informazioni dettagliate, vedere Ereditarietà del valore della proprietà.

Nota

Anche se l'ereditarietà del valore della proprietà potrebbe funzionare per le proprietà di dipendenza non associate, il comportamento di ereditarietà per una proprietà non collegata tramite determinate divisioni oggetto nell'albero di runtime non è definito. Usare RegisterAttached sempre per registrare le proprietà in cui si specificano Inherits nei metadati.

Le proprietà delle classi derivate di PropertyMetadata sono in genere definite nel modello a oggetti come lettura-scrittura. In questo modo possono essere regolati dopo l'inizializzazione dell'istanza. Tuttavia, dopo che i metadati vengono utilizzati come parte di una chiamata a Register, AddOwnero OverrideMetadata, il sistema di proprietà continuerà a bloccare l'istanza e le proprietà dei metadati che trasmettono le specifiche dei metadati sono ora considerate non modificabili. Se si tenta di impostare questa proprietà dopo IsSealed che si trova true in questa istanza di metadati, verrà generata un'eccezione.

Utilizzo del testo XAML

I membri di questa classe non vengono in genere usati in XAML.

Si applica a

Vedi anche