FrameworkPropertyMetadata.AffectsParentMeasure Właściwość

Definicja

Pobiera lub ustawia wartość, która wskazuje, czy właściwość zależności potencjalnie wpływa na przekazywanie miary układu elementu nadrzędnego podczas operacji aparatu układu.

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

Wartość właściwości

Boolean

true jeśli właściwość zależności, na której istnieją te metadane, potencjalnie wpływa na przekazanie miary specjalnie na jej element nadrzędny; w przeciwnym razie , false. Wartość domyślna to false.

Wyjątki

Metadane zostały już zastosowane do operacji właściwości zależności, dzięki czemu metadane są zapieczętowane i nie można ustawić właściwości metadanych.

Uwagi

FrameworkElement i FrameworkContentElement obejmują implementację OnPropertyChanged , która monitoruje obowiązujące zmiany wartości we wszystkich właściwościach zależności, które istnieją na elemecie. W ramach tej logiki właściwości zależności, które zmieniają obowiązującą wartość i mają metadane z ustawioną wartością AffectsParentMeasure , true zainicjują odroczone żądanie unieważnienia wizualizacji elementu nadrzędnego. Ponieważ ta implementacja na poziomie platformy WPF jest już wdrożona, zazwyczaj nie trzeba szukać właściwości zależności, AffectsParentMeasure chyba że znacząco zastępujesz lub modyfikujesz zachowanie układu na poziomie struktury WPF.

Ogólnie rzecz biorąc, nie trzeba zgłaszać zmian FrameworkElement właściwości do elementu nadrzędnego przy użyciu AffectsParentMeasure , ponieważ sam element ma już własny AffectsMeasure jako true. Zwykle jest to wystarczające, ponieważ zmiany w elemecie podrzędnym zwykle inicjują przekazywanie miary nadrzędnej, gdy jest to konieczne. AffectsParentMeasure jest czasami używany dla klasy pochodnej FrameworkContentElement . W tym przypadku element podrzędny ustawia właściwość, ale klasa pochodna FrameworkContentElement nie kontroluje własnego renderowania. Renderowanie jest obsługiwane przez FrameworkElement element nadrzędny, który służy jako host zawartości. Na przykład zmiana wartości Paragraph.KeepWithNext właściwości przez element podrzędny unieważnia miarę elementu nadrzędnego, ponieważ względne odstępy między akapitami mogą ulec zmianie i mogą zwiększyć lub zmniejszyć rozmiar hosta zawartości. W związku z tym Paragraph.KeepWithNext właściwość ma metadane, w których AffectsParentMeasure wartość to true.

Elementy hosta zawartości często szukają również zmian we właściwościach zależności, w których AffectsParentMeasure element jest trueczęścią logiki renderowania hosta zawartości. Na przykład TextBox element musi reagować na pewne zmiany w tekście, które mogą wymagać zmiany pola TextBox ograniczenia samego siebie.

Implementacje niestandardowe OnPropertyChanged mogą zdecydować się na podobne zachowanie w przypadku zmian właściwości zależności, w których AffectsParentMeasure wartość to true.

Właściwości wszystkich klas pochodnych PropertyMetadata klasy są zwykle definiowane w modelu obiektów jako odczyt-zapis. Dzięki temu można je dostosować po zainicjowaniu wystąpienia. Jednak po użyciu metadanych w ramach wywołania metody Register, AddOwnerlub OverrideMetadatasystem właściwości przypieczętuje, że wystąpienie metadanych i właściwości przekazujące szczegóły metadanych są teraz uznawane za niezmienne. Próba ustawienia tej właściwości po IsSealed wystąpieniu true tych metadanych spowoduje wystąpienie wyjątku.

Użycie tekstu w języku XAML

Składowe tej klasy nie są zwykle używane w języku XAML.

Dotyczy

Zobacz też