FrameworkPropertyMetadata.AffectsParentArrange Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą, czy właściwość zależności może wpływać na przebieg układu elementu nadrzędnego w trakcie operacji aparatu układu.Gets or sets a value that indicates whether a dependency property potentially affects the arrange pass of its parent element's layout during layout engine operations.

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

Boolean

true Jeśli właściwość zależności, na której istnieją metadane, prawdopodobnie ma wpływ na przebieg uporządkowany w odniesieniu do jego elementu nadrzędnego; w przeciwnym razie false .true if the dependency property on which this metadata exists potentially affects the arrange pass specifically on its parent element; otherwise, false. Wartość domyślna to false.The default is false.

Wyjątki

Metadane zostały już zastosowane do operacji właściwości zależności, dlatego metadane są zapieczętowane i nie można ustawić właściwości metadanych.The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

Uwagi

FrameworkElement i FrameworkContentElement obejmują implementację OnPropertyChanged , która monitoruje zmiany wartości efektywnej we wszystkich właściwościach zależności istniejących w elemencie.FrameworkElement and FrameworkContentElement include an implementation of OnPropertyChanged that monitors effective value changes to all dependency properties that exist on an element. W ramach tej logiki właściwości zależności, które zmieniają wartość skuteczną i mają metadane z AffectsParentArrange ustawionym na true zainicjują odroczone żądanie unieważnienia wizualizacji dla elementu nadrzędnego.As part of that logic, dependency properties that change effective value and have metadata with AffectsParentArrange set to true will initiate a deferred request to invalidate the visuals for the parent element.

Ogólnie rzecz biorąc, nie trzeba raportować zmian FrameworkElement właściwości do elementu nadrzędnego przy użyciu AffectsParentArrange , ponieważ sam element byłby już własny AffectsArrange true .Generally, you do not need to report changes of a FrameworkElement property to a parent element using AffectsParentArrange because the element itself would already have its own AffectsArrange as true. Jest to zwykle wystarczające, ponieważ zmiany w elemencie podrzędnym zwykle inicjują rozmieszczenie obiektów nadrzędnych, gdy jest to konieczne.That is usually sufficient, because changes in the child element generally initiate a parent arrange when appropriate. AffectsParentArrange jest czasami używany dla FrameworkContentElement klasy pochodnej.AffectsParentArrange is sometimes used for a FrameworkContentElement derived class. W tym przypadku element podrzędny ustawia właściwość, ale FrameworkContentElement Klasa pochodna nie kontroluje własnego renderowania.In this case, the child element sets a property, but a FrameworkContentElement derived class does not control its own rendering. Renderowanie jest obsługiwane przez FrameworkElement element nadrzędny, który służy jako host zawartości.The rendering is handled by a FrameworkElement parent element that serves as the content host. Na przykład zmiana wartości FixedPage.Left Właściwości dołączonej przez element podrzędny unieważnia kolejność elementu nadrzędnego, ponieważ należy zmienić położenie elementu podrzędnego w elemencie nadrzędnym.For instance, a change to the value of the FixedPage.Left attached property by a child element invalidates arrange of the parent, because the position of the child in the parent must be changed. W związku z tym FixedPage.Left dołączona właściwość zawiera metadane, gdzie AffectsParentArrange is true .Therefore, the FixedPage.Left attached property has metadata where AffectsParentArrange is true. Innym przykładem jest Padding ; w przypadku zmiany tej właściwości element nadrzędny może zmienić położenie elementu podrzędnego, w zależności od dostępnego miejsca.Another example is Padding; when this property changes, the parent might change the positioning of the child, depending on available space.

Ponieważ ta implementacja na poziomie platformy WPF jest już na miejscu, zazwyczaj nie trzeba szukać właściwości zależności, AffectsParentArrange chyba że istotnie zastąpi lub zmodyfikujesz zachowanie układu platformy WPF.Because this WPF framework-level implementation is already in place, you typically do not need to look for dependency properties with AffectsParentArrange unless you are substantially replacing or modifying the WPF framework-level layout behavior.

OnPropertyChangedImplementacje niestandardowe mogą mieć podobne zachowanie w przypadku zmian właściwości zależności, gdzie AffectsParentArrange is true .Custom OnPropertyChanged implementations might choose to have similar behavior for dependency property changes where AffectsParentArrange is true.

Właściwości dla wszystkich klas pochodnych PropertyMetadata są zwykle zdefiniowane w modelu obiektów jako do odczytu i zapisu.Properties on any derived classes of PropertyMetadata are typically defined in the object model as read-write. Jest to tak więc, aby można je było dostosować po zainicjowaniu wystąpienia.This is so they can be adjusted after initialization of the instance. Jednak po wykorzystaniu metadanych jako części wywołania metody Register , AddOwner , lub OverrideMetadata , system właściwości spowoduje, że wystąpienie metadanych i właściwości, które przekażą określone metadane, są teraz traktowane jako niezmienne.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. Próba ustawienia tej właściwości po IsSealed znajduje się true w tym wystąpieniu metadanych spowoduje wystąpienie wyjątku.Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

Użycie tekstu w języku XAMLXAML Text Usage

Elementy członkowskie tej klasy nie są zwykle używane w języku XAML.Members of this class are not typically used in XAML.

Dotyczy

Zobacz też