Window.SizeChanged Evento
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Se produce cuando la ventana de la aplicación se ha representado por primera vez o ha cambiado su tamaño de representación.
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 de evento
Comentarios
Este evento se produce cada vez que hay cambios en los valores de límites 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 desee 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 control ListView para la orientación vertical, pero en gridView para la orientación horizontal. Normalmente, compararía la relació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 se active Window.SizeChanged. 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 controlador Window.SizeChanged 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 el control Bounds y Window.SizeChanged 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 ventana de la aplicación y cargar los estados visuales adecuados para la aplicación, consulta Inicio rápido: Diseño de aplicaciones para diferentes tamaños de ventana.
Hay otro evento denominado SizeChanged que existe en tipos derivados de FrameworkElement (Window no es un tipo FrameworkElement ). Los eventos FrameworkElement.SizeChanged pueden desencadenarse en muchas de las mismas circunstancias que hacen que Window.SizeChanged se active. Un cambio de tamaño de ventana de la aplicación puede hacer que el elemento visual raíz (normalmente una página o panel) cambie su tamaño. Esto establece una cascada de invalidaciones de diseño para cualquiera de los subelementos que usan el diseño adaptable para rellenar el espacio disponible. Cada elemento que tenga nuevas dimensiones debido a un paso de diseño desencadenará su propio evento FrameworkElement.SizeChanged .