SelectedValue qui fait son difficile
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
Code:
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 donc, dans le Window.Activated (Avant, le cb_enregistrement.datacontext est plein, mais le .Items vide)
Code:
1 2 3 4
| if (base.DataContext != null)
{
cb_enregistrements.SelectedValue = base.DataContext;
} |
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 ...