Dans le modèle architectural Model-View-ViewModel (MVVM), le ViewModel gère les données et la logique, tandis que la View se concentre sur la présentation. Un défi courant survient lorsqu'une action ViewModel nécessite la fermeture du formulaire associé. Puisque le ViewModel ne doit pas interagir directement avec la View, comment cette fermeture peut-elle être réalisée tout en adhérant aux principes MVVM ?
Plusieurs approches existent pour résoudre ce problème :
Une méthode plus sophistiquée et conforme à MVVM utilise les propriétés attachées. Un bon exemple est l'approche DialogCloser
(comme on le voit dans une solution précédemment acceptée) :
<code class="language-xml"><Window ... xc:dialogcloser.dialogresult="{Binding DialogResult}" xmlns:xc="clr-namespace:ExCastle.Wpf"></Window></code>
Cela lie la propriété DialogResult
du ViewModel à la propriété DialogCloser
attachée. La modification de DialogResult
dans le ViewModel ferme automatiquement la fenêtre et met à jour sa propriété DialogResult
. Cela gère avec élégance la fermeture du formulaire dans le cadre MVVM.
La meilleure méthode dépend des exigences spécifiques de l'application. Cependant, la technique des biens attachés offre une combinaison convaincante de flexibilité, de séparation nette des préoccupations et de mise en œuvre simple.
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!