Condividi tramite


Window.SizeChanged Evento

Definizione

Si verifica quando la finestra dell'app ha prima eseguito il rendering o ha modificato le dimensioni del rendering.

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 

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 della visualizzazione. Un altro trigger è se l'utente sposta l'app in una nuova visualizzazione 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 la visualizzazione su un PC che rileva l'orientamento. È possibile rilevare che la finestra dell'app è cambiata dal panorama all'orientamento verticale o viceversa. L'orientamento della finestra dell'app potrebbe influire sulla modalità di visualizzazione dei singoli controlli all'interno della finestra dell'app. Ad esempio, è possibile visualizzare gli elenchi di dati in un elenco ListView per l'orientamento verticale, ma in GridView per l'orientamento orizzontale. In genere si confronta il rapporto di Window.Current.Bounds.Width a Window.Current.Bounds.Height per determinare l'orientamento in base ai limiti e si farebbe questa operazione ogni volta che Window.SizeChanged viene attivato. Esattamente come si interpretano le proporzioni di larghezza/altezza è fino a voi.

Se si associano 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 pagina. 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 gestore Window.SizeChanged non è il modo in cui si applicano le dimensioni minime a cui è possibile ridimensionare l'app. Questo è controllato dal manifesto dell'app. Tuttavia, la logica per la modifica degli stati visivi deve essere in grado di caricare uno stato progettato per la larghezza minima prevista e in genere usare i valori Limiti e Window.SizeChanged per rilevare quando la finestra dell'app usa la larghezza minima.

Per altre informazioni su come usare Window.SizeChanged per rilevare le modifiche nell'ambiente della finestra dell'app e caricare gli stati visivi appropriati per l'app, vedere Avvio rapido: Progettazione di app per dimensioni diverse delle finestre.

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

Si applica a

Vedi anche