FrameworkPropertyMetadata.Inherits Propiedad

Definición

Obtiene o establece un valor que indica si el valor de la propiedad de dependencia es heredable.

C#
public bool Inherits { get; set; }

Valor de propiedad

true si el valor de propiedad es heredable; de lo contrario, false. De manera predeterminada, es false.

Excepciones

Los metadatos ya se aplicaron a una operación de propiedad de dependencia, por lo que están sellados y no se pueden establecer sus propiedades.

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

C#
pm = dp.GetMetadata(dp.OwnerType);
C#
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";
}

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 determinadas 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 del árbol lógico de los 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 información detallada, consulte Herencia de valores de propiedad.

Nota

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. Use siempre RegisterAttached para registrar las propiedades donde especifique Inherits en los metadatos.

Las propiedades de las clases derivadas de PropertyMetadata se definen normalmente en el modelo de 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 que los metadatos se consuman 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

Producto Versiones
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Consulte también