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

Définition

Obtient ou définit une valeur qui indique si une propriété de dépendance peut affecter la passe de mesure pendant des opérations du moteur de présentation.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

Valeur de propriété

true si la propriété de dépendance sur laquelle ces métadonnées existent peut affecter la passe de mesure ; sinon, false.true if the dependency property on which this metadata exists potentially affects the measure pass; otherwise, false. La valeur par défaut est false.The default is false.

Exceptions

Les métadonnées ont déjà été appliquées à une opération de propriété de dépendance : elles sont donc sealed et les propriétés des métadonnées ne peuvent pas être définies.The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

Exemples

L’exemple suivant récupère les métadonnées à partir de la dépendance différents champs de propriété, interroge la valeur de divers FrameworkPropertyMetadata propriétés dessus et utilise les informations pour remplir une table pour implémenter un « navigateur de métadonnées ».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")

Remarques

FrameworkElement et FrameworkContentElement incluent une implémentation de OnPropertyChanged qui surveille les modifications de valeur effective de toutes les propriétés de dépendance qui existent sur un élément.FrameworkElement and FrameworkContentElement include an implementation of OnPropertyChanged that monitors effective value changes to all dependency properties that exist on an element. Dans le cadre de cette logique, des propriétés de dépendance qui modifient l’effet valeur et qui ont des métadonnées avec AffectsMeasure la valeur true lance une demande différée pour invalider les visuels de cet élément.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. Étant donné que cette implémentation de niveau infrastructure WPF est déjà en place, en général inutile rechercher des propriétés de dépendance avec AffectsMeasure , sauf si vous sont essentiellement de remplacer ou de modifier le comportement de disposition de niveau framework 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 implémentations peuvent choisir d’avoir un comportement similaire pour les modifications de propriété de dépendance où AffectsMeasure est true.Custom OnPropertyChanged implementations might choose to have similar behavior for dependency property changes where AffectsMeasure is true.

Propriétés des classes dérivées de PropertyMetadata sont généralement définies dans le modèle objet en lecture-écriture.Properties on derived classes of PropertyMetadata are typically defined in the object model as read-write. Il s’agit donc ils peuvent être ajustées après initialisation de l’instance.This is so they can be adjusted after initialization of the instance. Toutefois, une fois que les métadonnées sont consommées dans le cadre d’un appel à Register, AddOwner, ou OverrideMetadata, le système de propriétés scelle l’instance des métadonnées et propriétés qui transmettent les caractéristiques des métadonnées sont maintenant considérées comme immuables.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. Tentative de définition de cette propriété après IsSealed est true sur ces métadonnées instance lève une exception.Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

Utilisation de texte XAMLXAML Text Usage

Membres de cette classe ne sont généralement pas utilisés dans XAMLXAML.Members of this class are not typically used in XAMLXAML.

S’applique à

Voir aussi