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 xaml : Sélectionner tout - Visualiser dans une fenêtre à part
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 c# : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
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.
Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <wizard:Wizard x:Name="wizard" ItemsSource="{Binding Steps,Converter={StaticResource MyConverter}}"> </wizard:Wizard>
Comment faire pour passer une liste de IDiagnosticStep à la vue et la convertir en WizardPage (ou autre, j'ai juste besoin du principe) ?
Merci !
Partager