FrameworkPropertyMetadata.Inherits Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą, czy wartość właściwości zależności jest dziedziczenia.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

Wartość właściwości

trueJeśli wartość właściwości jest dziedziczenia; w przeciwnym razie. falsetrue if the property value is inheritable; otherwise, false. Wartość domyślna to false.The default is false.

Wyjątki

Metadane zostały już zastosowane do operacji właściwości zależności, dlatego metadane są zapieczętowane i nie można ustawić właściwości metadanych.The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

Przykłady

Poniższy przykład pobiera domyślne metadane z różnych pól właściwości zależności, wysyła zapytanie do wartości różnych FrameworkPropertyMetadata właściwości, a następnie używa informacji do wypełniania tabeli w celu zaimplementowania "przeglądarki metadanych".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")

Uwagi

Dziedziczenie wartości właściwości jest funkcją WPFWPF systemu właściwości na poziomie platformy WPF, zgodnie z którym niektóre właściwości zależności mogą być ustawiane lokalnie dla elementu w katalogu głównym XAMLXAML drzewa elementu, a następnie mieć wartość dziedziczoną przez wszystkie elementy w drzewie logicznym elementów podrzędnych, które również posiadają tę właściwość.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. Dziedziczenie wartości właściwości nie jest domyślnie włączone i włączenie jej ma wpływ na wydajność.Property value inheritance is not enabled by default, and enabling it does have some performance implications. Aby uzyskać szczegółowe informacje, zobacz dziedziczenie wartości właściwości.For details, see Property Value Inheritance.

Uwaga

Chociaż dziedziczenie wartości właściwości może wydawać się niedołączonymi właściwościami zależności, zachowanie dziedziczenia dla niedołączonej właściwości przy użyciu określonych oddziałów obiektów obiektu w drzewie środowiska uruchomieniowego jest niezdefiniowane.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. Zawsze używaj RegisterAttached do rejestrowania właściwości, które są Inherits określone w metadanych.Always use RegisterAttached to register properties where you specify Inherits in the metadata.

Właściwości klas PropertyMetadata pochodnych są zwykle zdefiniowane w modelu obiektów jako do odczytu i zapisu.Properties on derived classes of PropertyMetadata are typically defined in the object model as read-write. Jest to tak więc, aby można je było dostosować po zainicjowaniu wystąpienia.This is so they can be adjusted after initialization of the instance. Jednak po wykorzystaniu metadanych jako części wywołania metody Register, AddOwner, lub OverrideMetadata, system właściwości spowoduje, że wystąpienie metadanych i właściwości, które przekażą określone metadane, są teraz traktowane jako niezmienne.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. Próba ustawienia tej właściwości po IsSealed znajduje się true w tym wystąpieniu metadanych spowoduje wystąpienie wyjątku.Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

Użycie tekstu w języku XAMLXAML Text Usage

Elementy członkowskie tej klasy nie są zwykle używane w XAMLXAMLprogramie.Members of this class are not typically used in XAMLXAML.

Dotyczy

Zobacz też