FrameworkPropertyMetadata.AffectsMeasure FrameworkPropertyMetadata.AffectsMeasure FrameworkPropertyMetadata.AffectsMeasure FrameworkPropertyMetadata.AffectsMeasure Property

Definición

Obtiene o establece un valor que indica si una propiedad de dependencia afecta potencialmente al paso de medida durante las operaciones del motor de diseño.Gets or sets a value that indicates whether a dependency property potentially affects the measure pass during layout engine operations.

public:
 property bool AffectsMeasure { bool get(); void set(bool value); };
public bool AffectsMeasure { get; set; }
member this.AffectsMeasure : bool with get, set
Public Property AffectsMeasure As Boolean

Valor de propiedad

true si la propiedad de dependencia en la que existen estos metadatos afecta potencialmente al paso de medida; de lo contrario, false.true if the dependency property on which this metadata exists potentially affects the measure pass; 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

FrameworkElement y FrameworkContentElement incluyen una implementación de OnPropertyChanged que supervisa los cambios de valor efectivo en todas las propiedades de dependencia que existen en un elemento.FrameworkElement and FrameworkContentElement include an implementation of OnPropertyChanged that monitors effective value changes to all dependency properties that exist on an element. Como parte de esa lógica, las propiedades de dependencia que cambian en vigor, valor y tienen los metadatos con AffectsMeasure establecido en true iniciará una solicitud diferida para invalidar los elementos visuales de ese elemento.As part of that logic, dependency properties that change effective value and have metadata with AffectsMeasure set to true will initiate a deferred request to invalidate the visuals for that element. Dado que esta implementación de nivel de marco WPF ya está en su lugar, normalmente no es necesario buscar las propiedades de dependencia con AffectsMeasure a menos que esencialmente va a reemplazar o modificar el comportamiento de diseño de nivel de marco WPF.Because this WPF framework-level implementation is already in place, you typically do not need to look for dependency properties with AffectsMeasure unless you are substantially replacing or modifying the WPF framework-level layout behavior.

Custom OnPropertyChanged implementaciones pueden optar por tener un comportamiento similar para los cambios de propiedad de dependencia donde AffectsMeasure es true.Custom OnPropertyChanged implementations might choose to have similar behavior for dependency property changes where AffectsMeasure is true.

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: