FrameworkPropertyMetadata.Inherits Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece un valor que indica si el valor de la propiedad de dependencia es heredable.
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 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".
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 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.