Bonjour je travaille sur un petit gestionnaire de snippet ( notes ) et je cherche des idées pour l'organisation de ma vue.
J'ai une vue principale , une liste de snippets , puis des vues "auxilaires" ( formulaire d'ajout , d'édition , écran de configuration de l'application").
En gros , une seule vue ne peut être visible à la fois.
Comment organiser tout ça ? ( je suis sur un MVVM basique avec RelayCommand et ViewModelBase ).
Solution 1/ avoir un champ ViewModelContainer de type ViewModelBase dans le ViewModel de la fenêtre principale , et changer la valeur suivant la vue à afficher, par exemple :
puis pour changer de vue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ViewModelContainer = new Form1ViewModel() ;
le problème est que ça complique la gestion des commandes dans les vues correspondantes ( NullRef exceptions à tout va lors de l'éxecution de fonctions CanExecute quand on change de vues ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part ViewModelContainer = new Form2ViewModel();
Je cherche donc d'autres stratégies pour gérer mes différentes vues , la seule condition est de rester avec un MVVM light. Toute info bienvenue ( liens , code , etc ... ).
Partager