FrameworkPropertyMetadata.Inherits Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.