[MVVM] Binding View ViewModel
Bonjour,
Je débute avec le pattern MVVM et WPF et j'aiun petit souci que je ne parviens pas à résoudre (sans doute lié à mes lacunes pour l'instant en WPF).
Dans mon fichier xaml, je voudrais afficher un wizard, comme celui-ci :
Code:
1 2 3 4 5 6
|
<wizard:Wizard x:Name="wizard">
<wizard:WizardPage Caption="First Step" Description="This is the first step." Title="1: First step"></wizard:WizardPage>
<wizard:WizardPage Caption="Second Step" Description="This is the second step." Title="2: Another step" />
<wizard:WizardPage Caption="Third Step" Description="This is the third step." Title="3: Yet another step" />
</wizard:Wizard> |
Nickel, çà fonctionne bien. Maintenant j'aimerais que les pages du wizard ne soient pas fixées à l'avance, donc que leur nombre soit dynamique. Mon ViewModel comporte ceci:
Code:
1 2
|
public ObservableCollection<IDiagnosticStep> Steps { get; set; } |
Qui représente une liste des étapes à afficher (un nom, une description, etc...)
J'ai donc créé un converter qui converti une liste de IDiagnosticStep en WizardPage et fais ceci pour l'afficher :
Code:
1 2 3
|
<wizard:Wizard x:Name="wizard" ItemsSource="{Binding Steps,Converter={StaticResource MyConverter}}">
</wizard:Wizard> |
Le problème est que d'après ce que j'ai lu, en MVVM il faudrait pouvoir se passer complétement des converter et du maximum de code-behind dans la vue. Malgré pas mal de recherche je n'y parviens pas.
Comment faire pour passer une liste de IDiagnosticStep à la vue et la convertir en WizardPage (ou autre, j'ai juste besoin du principe) ?
Merci !