Window.SizeChanged Ereignis
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.
Tritt auf, wenn das App-Fenster zuerst gerendert wurde oder seine Renderinggröße geändert hat.
public:
virtual event WindowSizeChangedEventHandler ^ SizeChanged;
// Register
event_token SizeChanged(WindowSizeChangedEventHandler const& handler) const;
// Revoke with event_token
void SizeChanged(event_token const* cookie) const;
// Revoke with event_revoker
Window::SizeChanged_revoker SizeChanged(auto_revoke_t, WindowSizeChangedEventHandler const& handler) const;
public event WindowSizeChangedEventHandler SizeChanged;
function onSizeChanged(eventArgs) { /* Your code */ }
window.addEventListener("sizechanged", onSizeChanged);
window.removeEventListener("sizechanged", onSizeChanged);
- or -
window.onsizechanged = onSizeChanged;
Public Custom Event SizeChanged As WindowSizeChangedEventHandler
Ereignistyp
Hinweise
Dieses Ereignis tritt immer dann auf, wenn Änderungen an den Bounds-Werten für das App-Fenster vorgenommen werden. Dies kann daran zurückzuführen sein, dass der Benutzer die Größe Ihrer App ändert oder die Anzeigeausrichtung ändert. Ein weiterer Trigger ist, wenn der Benutzer Ihre App auf eine neue Anzeige mit einer anderen Auflösung verschiebt und das App-Fenster erweitert wird, um sie auszufüllen.
Window.SizeChanged ist das Ereignis, das behandelt werden soll, um zu erkennen, dass der Benutzer die Größe Ihrer App absichtlich geändert oder die Anzeige auf einem PC gedreht hat, der die Ausrichtung erkennt. Möglicherweise möchten Sie feststellen, dass sich das App-Fenster von Querformat zu Hochformat oder umgekehrt geändert hat. Die Ausrichtung des App-Fensters kann beeinflussen, wie die einzelnen Steuerelemente im App-Fenster angezeigt werden sollen. Beispielsweise können Sie Datenlisten in einer ListView für die Ausrichtung im Hochformat, aber in einer GridView für die Querausrichtung anzeigen. In der Regel vergleichen Sie das Verhältnis von Window.Current.Bounds.Width
zu Window.Current.Bounds.Height
, um die Ausrichtung basierend auf den Begrenzungen zu bestimmen. Dies geschieht immer dann, wenn Window.SizeChanged ausgelöst wird. Wie Sie das Verhältnis zwischen Breite und Höhe genau interpretieren, liegt bei Ihnen.
Wenn Sie Handler für Window.SizeChanged auf Seitenebene innerhalb eines Handlers für das FrameworkElement.Loaded-Ereignis anfügen, sollten Sie diese Handler in einem FrameworkElement.Unloaded-Ereignishandler von dieser Seite trennen. Die Window.Current-instance bleibt zwischen Seitennavigationen aktiv und sollte nur einen Handler für den aktuellen Seitencode haben.
Ein Window.SizeChanged-Handler erzwingt nicht die Mindestgröße, in die die Größe Ihrer App geändert werden kann. Dies wird vom App-Manifest gesteuert. Ihre Logik zum Ändern der visuellen Zustände sollte jedoch in der Lage sein, einen Zustand zu laden, der für die von Ihnen gewünschte Mindestbreite konzipiert ist, und Sie würden in der Regel die Bounds-Werte und die Window.SizeChanged-Behandlung verwenden, um zu erkennen, wann das App-Fenster eine Mindestbreite verwendet.
Weitere Informationen zur Verwendung von Window.SizeChanged zum Erkennen von Änderungen in der App-Fensterumgebung und Laden der entsprechenden visuellen Zustände für Ihre App finden Sie unter Schnellstart: Entwerfen von Apps für verschiedene Fenstergrößen.
Es gibt ein anderes Ereignis mit dem Namen SizeChanged , das für von FrameworkElement abgeleitete Typen vorhanden ist (Window ist kein FrameworkElement-Typ ). FrameworkElement.SizeChanged-Ereignisse können unter vielen der gleichen Umstände ausgelöst werden, die dazu führen, dass Window.SizeChanged ausgelöst wird. Eine Änderung der Größe des App-Fensters kann dazu führen, dass das visuelle Stammelement (in der Regel eine Seite oder ein Bereich) seine Größe ändert. Dies löst eine Kaskade von Layoutinvalidierungen für alle Unterelemente aus, die das adaptive Layout verwenden, um den verfügbaren Platz zu füllen. Jedes Element, das aufgrund eines Layoutdurchlaufs neue Dimensionen aufweist, löst sein eigenes FrameworkElement.SizeChanged-Ereignis aus .