MVVM : Fermer une fenêtre enfant sans code-behind !
Bonjour à tous, et désolé d'avance si cette question à été maintes fois posée avant, j'ai eu beau chercher, aucune réponse ne m'a satisfait d'un point de vue respect du MVVM...
Ma question est simple mais tordue...
J'ai une view parent qui depuis son viewmodel, instancie une view enfant (fenêtre modale).
Code:
1 2 3
| WinTaskName _winTaskName = new WinTaskName();
_winTaskName.tbTaskName.Clear();
_winTaskName.ShowDialog(); |
J'ai de plus deux boutons sur cette view enfant, dont l'un doit fermer la fenêtre enfant.
Code:
1 2 3 4 5 6
| <Button Content="OK" Height="33" x:Name="bValidate" VerticalAlignment="Top"
Grid.Row="1" HorizontalAlignment="Right" Margin="0,10,10,0"
Width="100" Command="{Binding Path=ValidateTaskName}" />
<Button Content="Cancel" HorizontalAlignment="Left" x:Name="bAnnuler" Width="100"
Grid.Column="1" Grid.Row="1" Height="33" VerticalAlignment="Top"
Margin="10,10,0,0" Command="{Binding Path=CancelTaskName}" /> |
La question est la suivante : Le view model ne connaissant pas la view (par respect du MVVM), comment lors de l'appel de la command ValidateTaskName, je peux faire mon "this.close();" ?
Je n'ai jusqu'ici trouvé aucune réponse convenable....et ça m'énerveeeeeeeeeeee :p
D'avance merci pour votre aide ;)
PS : Mes view connaissent leur ViewModel par le binding du DataContext avec un Locator.