Bonjour,
je me tourne vers vous car je suis actuellement sur un projet en WPF utilisant le design patter MVVMLight, ce qui est totalement nouveau pour moi. J'y suis plongé depuis une bonne semaine et demi, j'avance à petit pas, mais j'ai quand même quelques points bloquants, qui me paraissent idiot dans l'idée mais...
Ce que j'aimerais faire :
Je travaille actuellement dans le ViewModel, afin de remplir des combobox dans le WPF. Je chercher à récupérer plusieurs listes dans ma base de donnée (liste des établissements, liste des services, par exemple), ce que j'ai réussi à faire via :
Avec ça, si je bind une combobox sur établissement, je récupère la liste des établissement, et idem pour les services et les sections. (Du moins ça fonctionne, mais si jamais vous pensez que la procédure n'est pas bonne n'hésitez pas, je decouvre vraiment alors je fais "au test")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Etablissement = new ObservableCollection<Etablissement>((await _dataService.GetEtablissements().ConfigureAwait(false))); Services = await _dataService.GetServicesAsync(true).ConfigureAwait(false); Sections = await _dataService.GetSectionsAsync(_dataService.ParamGlobaux.IDEtablissement).ConfigureAwait(false);
Maintenant, un de mes problèmes actuels, c'est que j'aimerais faire une combobox qui me permetterait de choisir "etablissement", "service", "section", et une fois que j'en ai choisi un, la seconde combobox m'affiche la liste de ce choix.
Mais je suppose qu'en MVVM la manière de procéder est différente, quelqu'un aurait une idée, une explication, un cookie ?
Merci d'avance
Edit :
La première Combobox avec les trois choix rempli. Maintenant, comment faire pour bind 3 sources différentes, si quelqu'un à une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 private ObservableCollection<string> _SelectedChoice; public ObservableCollection<string> SelectedChoice { get { return _SelectedChoice; } set { if (value != _SelectedChoice) { _SelectedChoice = value; RaisePropertyChanged(nameof(SelectedChoice)); UpdateSelectedChoice(); //rempli les champs } } }
Partager