FrameworkPropertyMetadata.Inherits FrameworkPropertyMetadata.Inherits FrameworkPropertyMetadata.Inherits FrameworkPropertyMetadata.Inherits Property

Definición

Obtiene o establece un valor que indica si el valor de la propiedad de dependencia es heredable.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

Valor de propiedad

true si el valor de propiedad es heredable; de lo contrario, false.true if the property value is inheritable; otherwise, false. De manera predeterminada, es false.The default is 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.The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

Ejemplos

El siguiente ejemplo obtiene los metadatos predeterminados de dependencia de distintos campos de propiedades, consulta el valor de diversos FrameworkPropertyMetadata propiedades en él y usa la información para rellenar una tabla para implementar un "Explorador de metadatos".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")

Comentarios

Herencia de valores de propiedad es una característica de la WPFWPF sistema de propiedades en el nivel de marco WPF, mediante el cual ciertas propiedades de dependencia se pueden establecer localmente en un elemento en o cerca de la raíz de un XAMLXAML elemento de árbol y, a continuación, tiene su valor heredado por todos los elementos dentro del árbol lógico de los elementos secundarios que también poseen esa propiedad.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. Herencia de valores de propiedad no está habilitada de forma predeterminada y habilitarla tiene algunas implicaciones de rendimiento.Property value inheritance is not enabled by default, and enabling it does have some performance implications. Para obtener información detallada, consulte Herencia de valores de propiedad.For details, see Property Value Inheritance.

Nota

Aunque podría parecer que la herencia de valores de propiedad funciona para las propiedades de dependencia, el comportamiento de herencia para una propiedad no asociada a través de ciertas divisiones de objeto del objeto en el árbol de tiempo de ejecución es indefinido.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. Utilice siempre RegisterAttached para registrar las propiedades donde especifique Inherits en los metadatos.Always use RegisterAttached to register properties where you specify Inherits in the metadata.

Las propiedades de las clases derivadas de PropertyMetadata normalmente se definen en el modelo de objetos de lectura y escritura.Properties on derived classes of PropertyMetadata are typically defined in the object model as read-write. Esto es por lo que se pueden ajustar después de la inicialización de la instancia.This is so they can be adjusted after initialization of the instance. Sin embargo, después de que los metadatos se consumen como parte de una llamada a Register, AddOwner, o OverrideMetadata, el sistema de propiedades sellar esa instancia de metadatos y propiedades que contienen los detalles de los metadatos se consideran inmutables.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. Se intentó establecer esta propiedad después de IsSealed es true en los metadatos de esta instancia genera una excepción.Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

Uso de texto XAMLXAML Text Usage

Los miembros de esta clase no se usan normalmente en XAMLXAML.Members of this class are not typically used in XAMLXAML.

Se aplica a

Consulte también: