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

En el ejemplo siguiente se obtienen los metadatos predeterminados de varios campos de propiedades de dependencia FrameworkPropertyMetadata , se consulta el valor de diversas propiedades en él y se usa la información para rellenar una tabla con el fin de 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

La herencia de valores de propiedad es una WPFWPF característica del sistema de propiedades en el nivel de marco de WPF, donde determinadas propiedades de dependencia se pueden establecer localmente en un elemento situado XAMLXAML en la raíz de un árbol de elementos o cerca de él y, a continuación, su valor se hereda por todos los elementos dentro del árbol lógico de 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. La herencia de valores de propiedad no está habilitada de forma predeterminada y su habilitación tiene algunas implicaciones en el 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 puede parecer que la herencia de valores de propiedad funciona para las propiedades de dependencia no asociadas, el comportamiento de la herencia de una propiedad no adjunta a través de ciertas divisiones de objetos objeto en el árbol en tiempo de ejecución no está definido.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 RegisterAttached siempre para registrar propiedades en las que Inherits especifique en los metadatos.Always use RegisterAttached to register properties where you specify Inherits in the metadata.

Las propiedades de las clases PropertyMetadata derivadas de se definen normalmente en el modelo de objetos como de lectura y escritura.Properties on derived classes of PropertyMetadata are typically defined in the object model as read-write. Esto es para que se puedan 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 se consuman los metadatos Registercomo AddOwnerparte de OverrideMetadatauna llamada a, o, el sistema de propiedades sellará esa instancia de metadatos y las propiedades que transmiten los detalles de los metadatos se consideran ahora 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. Si se IsSealed true intenta establecer esta propiedad después de en esta instancia de metadatos, se producirá 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 utilizan normalmente XAMLXAMLen.Members of this class are not typically used in XAMLXAML.

Se aplica a

Consulte también: