FrameworkPropertyMetadata.Inherits Propiedad

Definición

Obtiene o establece un valor que indica si el valor de la propiedad de dependencia se puede heredar.

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

Valor de propiedad

true si el valor de la propiedad es heredable; de lo contrario, false. El valor predeterminado es false.

Excepciones

Los metadatos ya se han aplicado a una operación de propiedad de dependencia, de modo que no se puedan establecer los metadatos y las propiedades de los metadatos.

Ejemplos

En el ejemplo siguiente se obtienen los metadatos predeterminados de varios campos de propiedad de dependencia, se consulta el valor de varias FrameworkPropertyMetadata propiedades en él y se usa la información para rellenar una tabla para implementar un "explorador de metadatos".

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

Comentarios

La herencia de valores de propiedad es una característica del sistema de propiedades de WPF en el nivel de marco de WPF, en el que ciertas propiedades de dependencia se pueden establecer localmente en un elemento en o cerca de la raíz de un árbol de elementos XAML y, a continuación, tienen su valor heredado por todos los elementos dentro del árbol lógico de elementos secundarios que también poseen esa propiedad. La herencia de valores de propiedad no está habilitada de forma predeterminada y habilitarla tiene algunas implicaciones de rendimiento. Para obtener más información, consulte Herencia de valores de propiedad.

Note

Aunque la herencia de valores de propiedad puede parecer funcionar para propiedades de dependencia no adjuntas, el comportamiento de herencia de una propiedad no adjunta a través de determinadas divisiones de objetos de objeto en el árbol en tiempo de ejecución no está definida. Siempre use RegisterAttached para registrar las propiedades donde especifique Inherits en los metadatos.

Las propiedades de las clases derivadas de normalmente se definen en el modelo de PropertyMetadata objetos como lectura y escritura. Esto es para que se puedan ajustar después de la inicialización de la instancia. Sin embargo, después de consumir los metadatos como parte de una llamada a Register, AddOwnero OverrideMetadata, el sistema de propiedades sellará que la instancia de metadatos y las propiedades que transmiten los detalles de los metadatos ahora se consideran inmutables. Si intenta establecer esta propiedad después IsSealed de que se encuentra true en esta instancia de metadatos, se producirá una excepción.

Uso de texto XAML

Los miembros de esta clase no se suelen usar en XAML.

Se aplica a

Consulte también