Langage

Window.SizeChanged Événement

Définition

Se produit lorsque la taille de rendu de la fenêtre a changé.

// 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) 

Type d’événement

Remarques

Cet événement se produit chaque fois qu’il existe des modifications dans les valeurs Bounds de la fenêtre. Cela peut être dû au fait que l’utilisateur redimensionne votre application ou modifie l’orientation de l’affichage pendant que l’application est agrandie. Un autre déclencheur est si l’utilisateur déplace votre application vers un nouvel affichage qui a une résolution différente.

Gérez l’événement SizeChanged pour gérer les éléments dans l’interface utilisateur de votre application, comme le déplacement d’éléments lorsque la taille de la fenêtre change. XAML utilise des pixels effectifs (epx), et non des pixels physiques réels. Les pixels effectifs sont une unité virtuelle de mesure et sont utilisés pour exprimer les dimensions de disposition et l’espacement, indépendamment de la densité de l’écran. Les valeurs Bounds Height et Width sont identiques aux valeurs Height and Width de WindowSizeChangedEventArgs . Vous pouvez donc utiliser l’une ou l’autre dans le gestionnaire d’événements.

Pour plus d’informations, consultez la vue d’ensemble du fenêtrage pour WinUI et SDK d'application Windows.

Si vous attachez un gestionnaire au SizeChanged niveau de la page au sein d’un gestionnaire pour l’événement FrameworkElement.Loaded , vous devez détacher le gestionnaire dans un gestionnaire d’événements FrameworkElement.Unloaded de cette page. L’instance de fenêtre reste active entre les navigations de page et doit uniquement avoir un gestionnaire actif pour le code de page le plus actuel.

Orientation

Vous pouvez détecter que la fenêtre a changé de paysage en orientation portrait ou inversement. L’orientation de la fenêtre peut influencer l’affichage des contrôles individuels au sein de l’application. Par exemple, vous souhaiterez peut-être afficher des listes de données dans un ListView pour l’orientation portrait, mais dans un GridView pour l’orientation paysage. En règle générale, vous comparez le ratio de celui-ci WidthHeight pour déterminer l’orientation en fonction des limites de la fenêtre, et vous le feriez chaque fois que Window.SizeChanged cela se produit. Exactement la façon dont vous interprétez Width/Height les ratios est à vous.

Taille minimale et maximale

N’utilisez pas le SizeChanged gestionnaire pour appliquer la taille minimale ou maximale à laquelle votre application peut être redimensionnée. Utilisez plutôt ces propriétés Chevauchementpresenter :

Toutefois, votre logique de modification des états visuels doit être en mesure de charger un état conçu pour la largeur minimale que vous envisagez, et vous utilisez généralement les valeurs bounds et Window.SizeChanged la gestion pour détecter quand la fenêtre d’application utilise une largeur minimale.

Pour plus d’informations sur l’utilisation de Window.SizeChanged pour détecter les modifications dans l’environnement de fenêtre d’application et charger les états visuels appropriés pour votre application, consultez Dispositions réactives avec XAML.

Autres événements de taille modifiés

Il existe plusieurs autres événements que vous pouvez utiliser pour détecter les modifications de taille.

AppWindow

La classe AppWindow a un événement Changed avec la valeur DidSizeChange pour les arguments d’événement.

Contrairement à la classe De fenêtre XAML, AppWindow utilise le système de coordonnées de fenêtre, où l’unité de base de mesure est des pixels d’appareil physiques. Utilisez donc les API AppWindow pour les actions de fenêtrage, telles que le redimensionnement de la fenêtre ou le déplacement par rapport à un autre élément à l’écran.

FrameworkElement

Il existe un autre événement nommé SizeChanged qui existe sur les types dérivés de FrameworkElement (Window n’est pas un type FrameworkElement ). Les événements FrameworkElement.SizeChanged peuvent se produire dans la plupart des mêmes circonstances que celles qui provoquent Window.SizeChanged l’événement. Une modification de taille de fenêtre d’application peut entraîner la modification de la taille de l’élément visuel racine (généralement une page ou un panneau) pour modifier sa taille. Cela définit une cascade d’invalidations de disposition pour tous les sous-éléments qui utilisent la disposition adaptative pour remplir l’espace disponible. Chaque élément qui a de nouvelles dimensions en raison d’une passe de disposition déclenche son propre événement FrameworkElement.SizeChanged .

S’applique à

Voir aussi