Bonjour à tous !
Je patauge encore en essayant de mettre en place des applications mettant en place le pattern MVVM.
J'essaye de faire une Master View contenant une listbox populé de personne, et une detail View affichant les détail de du currentItem de ma listbox.
Jusqu'ici, tout va bien, quand je change de sélection sur ma master view mes élément s'affiche bien dans ma detail View. Le problème est que quand je viens a modifier une personne grâce a ma detail View, les modifications (visuelles) ne se répercute pas dans ma lisbox.
Alors pour détailler un peu plus, j'ai ma MasterView.xaml qui resssemble à ça :
le datacontext de cette dernière est lié a mon masterViewModel grâce à :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
car j'essaye de respecter le pattern d'inversion de contrôle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part DataContext="{Binding Master_VM, Source={StaticResource ServiceLocator}}"
Mon MasterViewModel ressemble à ça :
Ma DetailView.xaml (je laisse que l'utile) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Du coup je savais pas trop comment récuperer le CurrentItem de mon MasterViewModel, alors j'ai binder le datacontext de ma detailView sur le MasterViewModel comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
Mais c'est pas logique que je Bind mon MasterViewModel sur la vue detail
Code : Sélectionner tout - Visualiser dans une fenêtre à part DataContext="{Binding Source={StaticResource ServiceLocator}, Path=Master_VM}"
Je m'emmêle un peu les pinceau là. Si je fait comme je viens de faire il m'est impossible de déclencher le OnPropertyChanged pour que les changement detail se répercute sur la listbox du master. La logique voudrait que je bind le datacontext de ma Vue detail avec mn DetailViewModel, mais alors comment récupérer le CurrentItem ?
Je pense ne pas utiliser le MVVM correctement...
Cordialement MoZo

 

 
		
		 
         
 

 
			
			

 
			

 MVVM Master et Detail View
 MVVM Master et Detail View
				
 Répondre avec citation
  Répondre avec citation
Partager