FrameworkPropertyMetadata.AffectsParentArrange Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia wartość, która wskazuje, czy właściwość zależności potencjalnie wpływa na rozmieszczanie układu elementu nadrzędnego podczas operacji aparatu układu.
public:
property bool AffectsParentArrange { bool get(); void set(bool value); };
public bool AffectsParentArrange { get; set; }
member this.AffectsParentArrange : bool with get, set
Public Property AffectsParentArrange As Boolean
Wartość właściwości
true
jeśli właściwość zależności, na której istnieją te metadane, potencjalnie wpływa na rozmieszczanie elementu nadrzędnego; 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ą AffectsParentArrange , true
zainicjują odroczone żądanie unieważnienia wizualizacji elementu nadrzędnego.
Ogólnie rzecz biorąc, nie trzeba zgłaszać zmian FrameworkElement właściwości do elementu nadrzędnego przy użyciu AffectsParentArrange , ponieważ sam element ma już własny AffectsArrange jako true
. Zwykle jest to wystarczające, ponieważ zmiany w elemecie podrzędnym zazwyczaj inicjują rozmieszczenie elementu nadrzędnego, gdy jest to konieczne. AffectsParentArrange 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 dołączonej FixedPage.Left właściwości przez element podrzędny unieważnia rozmieszczenie elementu nadrzędnego, ponieważ pozycja elementu podrzędnego w obiekcie nadrzędnym musi zostać zmieniona. W związku z FixedPage.Left tym dołączona właściwość ma metadane, w których AffectsParentArrange wartość to true
. Innym przykładem jest to, że Paddinggdy ta właściwość ulegnie zmianie, element nadrzędny może zmienić położenie elementu podrzędnego w zależności od dostępnego miejsca.
Ponieważ ta implementacja na poziomie platformy WPF jest już wdrożona, zazwyczaj nie trzeba szukać właściwości zależności, AffectsParentArrange chyba że znacząco zastępujesz lub modyfikujesz zachowanie układu na poziomie struktury WPF.
Implementacje niestandardowe OnPropertyChanged mogą zdecydować się na podobne zachowanie w przypadku zmian właściwości zależności, w których AffectsParentArrange 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.