UIElement.UpdateLayout Methode

Definition

Stellt sicher, dass alle Positionen untergeordneter Objekte eines UIElements ordnungsgemäß für das Layout aktualisiert werden.

public:
 virtual void UpdateLayout() = UpdateLayout;
void UpdateLayout();
public void UpdateLayout();
function updateLayout()
Public Sub UpdateLayout ()

Hinweise

UpdateLayout entspricht grundsätzlich dem Aufruf von InvalidateMeasure und InvalidateArrange in der Sequenz.

Layoutupdates können durch App-Code erzwungen werden, anstatt sich mithilfe der UpdateLayout-Methode auf das integrierte Layoutsystemverhalten zu verlassen. Dies wird jedoch nicht allgemein empfohlen. Es ist in der Regel unnötig und kann bei Überlastung zu einer schlechten Leistung führen. In vielen Situationen, in denen das Aufrufen von UpdateLayout aus App-Code aufgrund von Eigenschaftenänderungen möglicherweise angemessen ist, verarbeitet das Layoutsystem wahrscheinlich bereits Updates. Das Layoutsystem verfügt auch über Optimierungen für den Umgang mit Kaskaden von Layoutänderungen über übergeordnete und untergeordnete Beziehungen, und das Aufrufen von UpdateLayout kann für solche Optimierungen verwendet werden. Dennoch ist es möglich, dass Layoutsituationen in komplizierteren Szenarien auftreten, in denen der Aufruf von UpdateLayout die beste Option zum Beheben eines Zeitzeitproblems oder eines anderen Layoutproblems ist. Verwenden Sie es einfach bewusst und sparsam. In den Fällen, in denen Sie UpdateLayout aufrufen müssen, rufen Sie es wahrscheinlich direkt nach dem Aufrufen Children.Add einer Sammlung von untergeordneten Elementen eines gemeinsamen übergeordneten Layouts auf, und rufen Dann UpdateLayout für dieses übergeordnete Element auf, damit das Layoutsystem das neu hinzugefügte untergeordnete Element erkennt.

Ein Szenario für UpdateLayout besteht darin, dass Sie über verknüpfte Container wie RichTextBlock und RichTextBlockOverflow verfügen, Laufzeitänderungen am Inhalt vorgenommen haben und sicherstellen möchten, dass Vorgänge, die nicht speziell an die Anzeige der Benutzeroberfläche gebunden sind, die Möglichkeit haben, das Layout auszuführen und die Inhaltsbalance zwischen den verknüpften Containern auszulösen. Dies können Sie beispielsweise tun, um ein Layout für den Druck vorzubereiten. Ein Beispiel für dieses Szenario finden Sie im Beispiel " Print" im Szenario Nr. 5.

Tipp

Wenn Sie ein Szenario haben, in dem Sie die Datenbindung für die Benutzeroberfläche verwenden und das Layout keine Aktualisierungen in Ihren Datenquellensammlungen widerspiegelt, hilft das Aufrufen von UpdateLayout wahrscheinlich nicht. Es ist wahrscheinlicher, dass Sie Probleme mit Ihren Bindungsdeklarationen, dem Datenkontext oder mit der Unterstützung von INotifyPropertyChanged oder INotifyCollectionChanged in Ihrer Datenquelle haben.

Gilt für:

Weitere Informationen