UIElement.UpdateLayout Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt sicher, dass alle Positionen untergeordneter Objekte eines UIElements für das Layout ordnungsgemäß aktualisiert werden.
public:
virtual void UpdateLayout() = UpdateLayout;
void UpdateLayout();
public void UpdateLayout();
function updateLayout()
Public Sub UpdateLayout ()
Hinweise
UpdateLayout entspricht im Grunde dem Aufrufen von InvalidateMeasure und InvalidateArrange in Sequenz.
Layoutupdates können durch App-Code erzwungen werden, anstatt sich auf das integrierte Layoutsystemverhalten mithilfe der UpdateLayout-Methode zu verlassen. Dies wird jedoch im Allgemeinen nicht empfohlen. Es ist in der Regel unnötig und kann eine schlechte Leistung verursachen, wenn sie überlastet ist. In vielen Situationen, in denen das Aufrufen von UpdateLayout aus App-Code aufgrund von Änderungen an Eigenschaften möglicherweise geeignet ist, verarbeitet das Layoutsystem wahrscheinlich bereits Updates. Das Layoutsystem verfügt auch über Optimierungen für den Umgang mit Kaskaden von Layoutänderungen durch Beziehungen zwischen übergeordneten und untergeordneten Elementen, und das Aufrufen von UpdateLayout kann gegen solche Optimierungen funktionieren. Dennoch ist es möglich, dass Layoutsituationen in komplizierteren Szenarien vorhanden sind, in denen das Aufrufen von UpdateLayout die beste Option zum Beheben eines Timing-Problems oder eines anderen Problems mit layout 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 untergeordneter Elemente eines allgemeinen übergeordneten Layouts auf, und rufen Sie dann UpdateLayout auf diesem übergeordneten Element auf, damit das Layoutsystem das neue hinzugefügte untergeordnete Element erkennt.
Ein Szenario für UpdateLayout ist, wenn Sie verknüpfte Container wie RichTextBlock und RichTextBlockOverflow verknüpft haben, Sie 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 Inhaltsumgleichstellung zwischen den verknüpften Containern auszulösen. Sie können dies z. B. tun, um ein Layout für den Druck vorzubereiten. Ein Beispiel für dieses Szenario finden Sie im Beispiel "#5" im Druckbeispiel.
Tip
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, wird das Aufrufen von UpdateLayout wahrscheinlich nicht hilfreich sein. Es ist wahrscheinlicher, dass Sie Probleme mit Ihren Bindungsdeklarationen, dem Datenkontext oder mit der Unterstützung "INotifyPropertyChanged " oder "INotifyCollectionChanged " in Ihrer Datenquelle haben.