La section principale de la fenêtre contient un DataGrid. La section Détails affiche un formulaire permettant de modifier l'enregistrement actuellement sélectionné dans DataGrid du maître. Le SelectedItem de la grille est lié au maître vm. Lorsque cette propriété change, le maître vm crée un nouveau EditViewModel, l'exposant via une propriété. La section de détails de la vue utilise cette propriété en tant que DataContext.Fractionnement maître-détail entre deux modèles de vue: Où mettre la logique de commande d'annulation?
Lors de l'implémentation de commandes telles que cancel, les placeriez-vous dans le modèle de vue maître ou de détails?
Le modèle de vue détaillée est responsable des interactions de l'utilisateur avec un enregistrement. On pourrait soutenir que cette responsabilité inclut la suppression. D'un autre côté, on pourrait soutenir que la vue principale est responsable des interactions de l'utilisateur avec la collection, et, puisque la suppression modifie la collection, la fonctionnalité de suppression devrait y être placée.
Merci,
Ben
Modifier: Précision - par "la mise en œuvre des commandes," je veux dire la mise en œuvre du code qui demande la couche de service pour effectuer l'action demandée.
Bon point. Mon erreur en décrivant cela. Je voulais dire quelque chose comme "où serait le meilleur endroit pour mettre la logique de commande qui appelle supprimer sur la couche de service?" –