Bonjour,
Voila, je suis confronté à un petit soucis. Je développe une application en WPF en essayant tant bien que mal à appliquer le pattern MVVM. Cependant je me rends compte qu'il est très difficile de supprimer tout code behind d'une Window (pour un UserControl aucun problème).
En effet, supposons que dans ma fenetre j'ai un calendrier et que sur le changement de date j'appel une procédure dans le ViewModel qui mettra à jour les données projetées dans un DataGrid (par exemple). Comment faire alors pour ne pas avoir de code behind ? Je ne peux pas binder un event à une command ou autre...
Je suis tombé sur ce lien : http://blog.functionalfun.net/2008/0...ts-in-wpf.html dans lequelle le rédacteur explique comment appliquer une command lorsqu'un évènement est levé. Avant de partir de suite dans le code à suivre aveuglement ce qu'il propose, es-ce une bonne solution ? Y en a t-il d'autres ?
Un autre exemple tout bête dans un MainWindow (il existe d'autres Window dans le projet):
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 private void Window_Closing(object sender, CancelEventArgs e) { Application.Current.Shutdown(); }
Comment faire passer ça via une command lorsque l'utilisateur décide de fermer la fenêtre principale ?
EDIT : Ha et le pire pour moi :
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 private void mniCollecteur_Click(object sender, RoutedEventArgs e) { MonitoringCollecteurView mcv = new MonitoringCollecteurView(); mcv.Show(); }
Sachant que les ViewModel ne connaissent absoluement pas les View, comment faire pour créer une instance de cette View ?...
Merci d'avance pour vos conseils![]()
Partager