Condividi tramite


Window.SizeChanged Evento

Definizione

Si verifica quando il rendering della finestra dell'app è stato eseguito per la prima volta o ha modificato le dimensioni di rendering.

// Register
event_token SizeChanged(TypedEventHandler<IInspectable, WindowSizeChangedEventArgs const&> 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, TypedEventHandler<IInspectable, WindowSizeChangedEventArgs const&> const& handler) const;
public event TypedEventHandler<object,WindowSizeChangedEventArgs> SizeChanged;
function onSizeChanged(eventArgs) { /* Your code */ }
window.addEventListener("sizechanged", onSizeChanged);
window.removeEventListener("sizechanged", onSizeChanged);
- or -
window.onsizechanged = onSizeChanged;
Public Custom Event SizeChanged As TypedEventHandler(Of Object, WindowSizeChangedEventArgs) 

Tipo evento

Commenti

Questo evento si verifica ogni volta che vengono apportate modifiche nei valori Bounds per la finestra dell'app. Ciò potrebbe essere dovuto al fatto che l'utente ridimensiona l'app o modifica l'orientamento dello schermo. Un altro trigger è se l'utente sposta l'app in un nuovo display con una risoluzione diversa e la finestra dell'app si espande per riempirla.

Window.SizeChanged è l'evento da gestire per rilevare che l'utente ha deliberatamente ridimensionato l'app o ruotato lo schermo in un PC che rileva l'orientamento. È possibile rilevare che la finestra dell'app è cambiata da orizzontale a orientamento verticale o viceversa. L'orientamento della finestra dell'app può influire sulla modalità di visualizzazione dei singoli controlli all'interno della finestra dell'app. Ad esempio, è possibile visualizzare elenchi di dati in un controllo ListView per l'orientamento verticale, ma in un controllo GridView per l'orientamento orizzontale. In genere si confronta il rapporto tra Window.Current.Bounds.Width e Window.Current.Bounds.Height per determinare l'orientamento in base ai limiti e si esegue questa operazione ogni volta che Window.SizeChanged viene attivato. Esattamente come si interpretano i rapporti di larghezza/altezza è fino a voi.

Se si collegano gestori per Window.SizeChanged a livello di pagina all'interno di un gestore per l'evento FrameworkElement.Loaded , è necessario scollegare tali gestori in un gestore eventi FrameworkElement.Unloaded da tale Page. L'istanza Window.Current rimane attiva tra gli spostamenti di pagina e deve avere un gestore attivo solo per il codice della pagina più recente.

Un Window.SizeChanged gestore non è il modo in cui si applicano le dimensioni minime a cui è possibile ridimensionare l'app. È controllato dal manifesto dell'app. Tuttavia, la logica per modificare gli stati di visualizzazione dovrebbe essere in grado di caricare uno stato progettato per la larghezza minima desiderata e in genere si usano i valori Bounds e Window.SizeChanged la gestione per rilevare quando la finestra dell'app usa la larghezza minima.

Per altre info su come usare Window.SizeChanged per rilevare le modifiche nell'ambiente della finestra dell'app e caricare gli stati di visualizzazione appropriati per la tua app, vedi Layout reattivi con XAML.

Esiste un altro evento denominato SizeChanged nei tipi derivati di FrameworkElement (Window non è un tipo FrameworkElement ). Gli eventi FrameworkElement.SizeChanged potrebbero essere attivati in molte delle stesse circostanze che causano Window.SizeChanged l'attivazione. Una modifica delle dimensioni della finestra dell'app può causare la modifica delle dimensioni dell'elemento visivo radice (in genere una pagina o un pannello). In questo modo viene disattivata una catena di invalidazioni di layout per tutti i sottoelementi che usano il layout adattivo per riempire lo spazio disponibile. Ogni elemento che ha nuove dimensioni a causa di un passaggio di layout genererà il proprio evento FrameworkElement.SizeChanged .

Si applica a

Vedi anche