Salut
J'ai un problème plutôt stupide. J'utilise couramment MaComboBox.SelectedValue = MonObjet pour préselectionner des éléments au chargement de mes fenêtres.
Et dans un cas, ça ne marche pas. Typiquement, j'ouvre une fenêtre d'édition et veut sélectionner l'enregistrement à éditer. Donc je charge les données dans le constructeur
Et donc, dans le Window.Activated (Avant, le cb_enregistrement.datacontext est plein, mais le .Items vide)
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 public Objet(IZI_OBJETS donnees, IZIDataContext contexte) { InitializeComponent(); //0. Soit le DataContext vient du fournisseur de donnée, soit il est privé _datacontext_prive = (contexte == null); if (_datacontext_prive) _izi = new IZIDataContext(); else _izi = contexte; ... cb_enregistrements.DataContext = new ObservableCollection<IZI_OBJETS>(_izi.IZI_OBJETS.ToList()); ... // On le mémorise. Il sera sélectionné dans le Activated, faute de quoi la cb_enregistrement est encore vide base.DataContext = donnees; ... }
Et ce SelectedValue ne marche pas. Genre il ne trouve pas de correspondance pour l'IZI_OBJETS du base.DataContext, alors qu'il est bien dans la combobox ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if (base.DataContext != null) { cb_enregistrements.SelectedValue = base.DataContext; }
Partager