FrameworkPropertyMetadata.AffectsParentMeasure Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit une valeur qui indique si une propriété de dépendance affecte potentiellement la passe de mesure de la disposition de son élément parent pendant les opérations du moteur de disposition.
public:
property bool AffectsParentMeasure { bool get(); void set(bool value); };
public bool AffectsParentMeasure { get; set; }
member this.AffectsParentMeasure : bool with get, set
Public Property AffectsParentMeasure As Boolean
Valeur de propriété
true si la propriété de dépendance sur laquelle ces métadonnées existent peut affecter le passage de mesure spécifiquement sur son élément parent ; sinon, false. La valeur par défaut est false.
Exceptions
Les métadonnées ont déjà été appliquées à une opération de propriété de dépendance, afin que les métadonnées soient scellées et que les propriétés des métadonnées ne puissent pas être définies.
Remarques
FrameworkElement et FrameworkContentElement inclure une implémentation de ce qui surveille les modifications effectives de OnPropertyChanged valeur apportées à toutes les propriétés de dépendance qui existent sur un élément. Dans le cadre de cette logique, les propriétés de dépendance qui modifient la valeur effective et qui ont des métadonnées définies AffectsParentMeasuretrue pour lancer une demande différée pour invalider les visuels de l’élément parent. Étant donné que cette implémentation au niveau du framework WPF est déjà en place, vous n’avez généralement pas besoin de rechercher des propriétés AffectsParentMeasure de dépendance, sauf si vous remplacez ou modifiez considérablement le comportement de disposition au niveau du framework WPF.
En règle générale, vous n’avez pas besoin de signaler les modifications d’une FrameworkElement propriété à un élément parent à l’aide AffectsParentMeasure du fait que l’élément lui-même aurait déjà sa propre propriété AffectsMeasure .true Cela suffit généralement, car les modifications apportées à l’élément enfant initient généralement une passe de mesure parente le cas échéant.
AffectsParentMeasure est parfois utilisé pour une FrameworkContentElement classe dérivée. Dans ce cas, l’élément enfant définit une propriété, mais une FrameworkContentElement classe dérivée ne contrôle pas son propre rendu. Le rendu est géré par un FrameworkElement élément parent qui sert d’hôte de contenu. Par exemple, une modification de la valeur de la Paragraph.KeepWithNext propriété par un élément enfant invalide la mesure du parent, car l’espacement relatif des paragraphes peut changer et peut augmenter ou diminuer la taille de l’hôte de contenu. Par conséquent, la propriété a des Paragraph.KeepWithNext métadonnées où AffectsParentMeasure est true.
Les éléments hôtes de contenu recherchent également fréquemment les modifications apportées aux propriétés de dépendance, dans AffectsParentMeasuretruele cadre de la logique de rendu de l’hôte de contenu. Par exemple, l’élément TextBox doit répondre à certaines modifications dans le texte qui peuvent nécessiter que le cadre englobant du TextBox lui-même soit modifié.
Les implémentations personnalisées OnPropertyChanged peuvent choisir d’avoir un comportement similaire pour les modifications de propriété de dépendance où AffectsParentMeasure se trouve true.
Les propriétés sur toutes les classes dérivées de PropertyMetadata sont généralement définies dans le modèle objet en lecture-écriture. C’est pourquoi elles peuvent être ajustées après l’initialisation de l’instance. Toutefois, une fois les métadonnées consommées dans le cadre d’un appel à Register, AddOwnerou OverrideMetadata, le système de propriétés scellera cette instance de métadonnées et les propriétés qui transmettent les spécificités des métadonnées sont désormais considérées comme immuables. Une tentative de définition de cette propriété après IsSealed avoir été true effectuée sur cette instance de métadonnées génère une exception.
Utilisation du texte XAML
Les membres de cette classe ne sont généralement pas utilisés en XAML.