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 : 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 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
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 ...