Maison > développement back-end > C++ > Comment lier les événements de l'interface utilisateur WPF aux commandes ViewModel ?

Comment lier les événements de l'interface utilisateur WPF aux commandes ViewModel ?

Barbara Streisand
Libérer: 2025-01-12 22:41:47
original
276 Les gens l'ont consulté

How to Bind WPF UI Events to ViewModel Commands?

Lier les événements de l'interface utilisateur aux commandes ViewModel dans WPF

Lors de la refactorisation de votre application pour suivre le modèle MVVM, il devient essentiel de déplacer la gestion des événements de l'interface utilisateur du code-behind vers le ViewModel. Comprendre comment lier les événements de l'interface utilisateur aux commandes est essentiel pour implémenter efficacement MVVM.

Pour ce faire, envisagez d'utiliser la classe EventTrigger dans l'espace de noms Windows.Interactivity en conjonction avec la classe InvokeCommandAction. Voici un exemple :

<code class="language-xml"><ListBox ...>
  <i:Interaction.Triggers>
    <i:EventTrigger EventName="SelectionChanged">
      <i:InvokeCommandAction Command="{Binding SelectedItemChangedCommand}" />
    </i:EventTrigger>
  </i:Interaction.Triggers>
</ListBox></code>
Copier après la connexion

Cette méthode permet de lier l'événement SelectionChanged directement à la commande définie dans le ViewModel. Vous pouvez utiliser les classes EventTrigger et InvokeCommandAction en faisant référence à System.Windows.Interactivity dans votre projet.

N'oubliez pas d'utiliser "xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" pour définir l'espace de noms approprié. Cette technologie vous permet de lier de manière transparente les événements de l'interface utilisateur aux commandes ViewModel, améliorant ainsi la séparation des préoccupations et suivant le modèle architectural MVVM.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal