Compartir a través de


Window.SizeChanged Evento

Definición

Se produce cuando la ventana de la aplicación se ha representado por primera vez o ha cambiado su tamaño de representación.

// 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 de evento

Comentarios

Este evento se produce cada vez que hay cambios en los valores bounds de la ventana de la aplicación. Esto puede deberse a que el usuario cambia el tamaño de la aplicación o cambia la orientación de la pantalla. Otro desencadenador es si el usuario mueve la aplicación a una nueva pantalla que tiene una resolución diferente y la ventana de la aplicación se expande para rellenarla.

Window.SizeChanged es el evento que se va a controlar para detectar que el usuario ha cambiado deliberadamente el tamaño de la aplicación o ha girado la pantalla en un equipo que detecta la orientación. Es posible que quiera detectar que la ventana de la aplicación ha cambiado de horizontal a orientación vertical o viceversa. La orientación de la ventana de la aplicación puede influir en cómo desea que aparezcan los controles individuales dentro de la ventana de la aplicación. Por ejemplo, es posible que desee mostrar listas de datos en un ListView para la orientación vertical, pero en gridView para la orientación horizontal. Normalmente, compararía la proporción de Window.Current.Bounds.Width a Window.Current.Bounds.Height para determinar la orientación en función de los límites y lo haría siempre que Window.SizeChanged se active. Exactamente cómo interpretas las relaciones de ancho/alto es para ti.

Si va a adjuntar controladores para Window.SizeChanged en el nivel de página dentro de un controlador para el evento FrameworkElement.Loaded , debe desasociar esos controladores en un controlador de eventos FrameworkElement.Unloaded de esa página. La instancia Window.Current permanece activa entre las navegaciones de página y solo debe tener un controlador activo para el código de página más actual.

Un Window.SizeChanged controlador no es cómo se aplica el tamaño mínimo al que se puede cambiar el tamaño de la aplicación. Esto se controla mediante el manifiesto de la aplicación. Sin embargo, la lógica para cambiar los estados visuales debe ser capaz de cargar un estado diseñado para el ancho mínimo previsto, y normalmente usaría los valores bounds y Window.SizeChanged el control para detectar cuándo la ventana de la aplicación usa el ancho mínimo.

Para obtener más información sobre cómo usar Window.SizeChanged para detectar cambios en el entorno de la ventana de la aplicación y cargar los estados visuales adecuados para la aplicación, consulta Diseños dinámicos con XAML.

Hay otro evento denominado SizeChanged que existe en los tipos derivados frameworkElement (Window no es un tipo FrameworkElement ). Los eventos FrameworkElement.SizeChanged pueden desencadenarse en muchas de las mismas circunstancias que provocan Window.SizeChanged el incendio. Un cambio de tamaño de ventana de la aplicación puede hacer que el elemento visual raíz (normalmente una página o un panel) cambie su tamaño. Esto establece una cascada de invalidaciones de diseño para los subelementos que usan el diseño adaptable para rellenar el espacio disponible. Cada elemento que tiene nuevas dimensiones debido a un paso de diseño desencadenará su propio evento FrameworkElement.SizeChanged .

Se aplica a

Consulte también