FrameworkPropertyMetadata.Inherits Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą, czy wartość właściwości zależności jest dziedziczona.

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

Wartość właściwości

true jeśli wartość właściwości jest dziedziczona; w przeciwnym razie , false. Wartość domyślna to false.

Wyjątki

Metadane zostały już zastosowane do operacji właściwości zależności, dzięki czemu metadane są zapieczętowane i nie można ustawić właściwości metadanych.

Przykłady

Poniższy przykład uzyskuje domyślne metadane z różnych pól właściwości zależności, wykonuje zapytanie o wartość różnych FrameworkPropertyMetadata właściwości i używa informacji do wypełnienia tabeli w celu zaimplementowania "przeglądarki metadanych".

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")

Uwagi

Dziedziczenie wartości właściwości jest funkcją systemu właściwości WPF na poziomie struktury WPF, gdzie niektóre właściwości zależności mogą być ustawiane lokalnie na elemecie w lub w pobliżu katalogu głównego drzewa elementów XAML, a następnie mają ich wartość dziedziczone przez wszystkie elementy w drzewie logicznym elementów podrzędnych, które również posiadają tę właściwość. Dziedziczenie wartości właściwości nie jest domyślnie włączone i włączenie jej ma pewne wpływ na wydajność. Aby uzyskać szczegółowe informacje, zobacz Dziedziczenie wartości właściwości.

Uwaga

Mimo że dziedziczenie wartości właściwości może wydawać się działać dla nieprzyłączone właściwości zależności, zachowanie dziedziczenia dla właściwości niedołączonej za pośrednictwem niektórych podziałów obiektów w drzewie środowiska uruchomieniowego jest niezdefiniowane. Zawsze używaj RegisterAttached polecenia , aby zarejestrować właściwości określone Inherits w metadanych.

Właściwości klas pochodnych PropertyMetadata klasy są zwykle definiowane w modelu obiektów jako odczyt-zapis. Dzięki temu można je dostosować po zainicjowaniu wystąpienia. Jednak po użyciu metadanych w ramach wywołania metody Register, AddOwnerlub OverrideMetadatasystem właściwości przypieczętuje, że wystąpienie metadanych i właściwości przekazujące szczegóły metadanych są teraz uznawane za niezmienne. Próba ustawienia tej właściwości po IsSealed wystąpieniu true tych metadanych spowoduje wystąpienie wyjątku.

Użycie tekstu w języku XAML

Składowe tej klasy nie są zwykle używane w języku XAML.

Dotyczy

Zobacz też