Bonjour,

J'ai un petit soucis d'utilisation (de comprehension ?) avec le pattern MVVM.

Je l'ai implemente dans mon application Silverlight et je me retrouve confronte au cas ou j'ai une View B contenue dans une View A. En revanche les deux Views ont chacunes leur propre ViewModel.

Dans le XAML de la View A, ca donne quelquechose comme cela :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<!-- les controls de la View A--->
 
 <Grid>
     <Views:ViewB />
 </Grid>
 
<!-- d'autres controls de la View A -->
J'utilise PRISM pour injecter mes ViewModel dans les View, et lorsqu'un ViewModel est cree, j'appelle la fonction suivante de la View associee :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
  public void SetViewModel(IAViewModel viewModel)
    {
      DataContext = viewModel;
    }
Le probleme c'est que ma View B se retrouve associee au ViewModel de la ViewA, mais je ne comprend pas pourquoi. Est-ce parceque je dois specifier dans le XAML que ViewB ne doit pas etre 'Bindé' au DataContext de la View A ?

Merci