J'ai un ComboBox
mis en place comme suit, où KVPList
est un IList
(de KeyValuePair
si elle importe):Liaison d'un ComboBox à une IList et en utilisant SelectedValue
comboBox.DisplayMember = "Value";
comboBox.ValueMember = "Key";
comboBox.DataSource = KVPList;
J'ai mis en place une fixation puis avec SelectedValue
, liant à BindingSource
(à DataSet
). Pour une raison quelconque, la zone de liste déroulante est toujours vide lorsque le formulaire est affiché. Il est correctement peuplé, cependant (les valeurs du IList
s'affichent correctement et peuvent être sélectionnées).
Maintenant, j'ai fait de mon mieux pour tracer à travers, et il semble initialement définir correctement la valeur SelectedValue quand elle est liée, mais quelque part en cours de route elle est réinitialisée à null
. J'ai joué avec l'ordre que les choses s'appellent également, en vain.
Quelqu'un peut-il nous éclairer à ce sujet ou suggérer une solution de contournement? Pour l'enregistrement, sur le même formulaire, j'ai un autre ComboBox
sur le même formulaire, avec ses SelectedValue
liés au même BindingSource
. Le DataSource
est un DataSet
, pas un IList
et il fonctionne comme un charme. Il pourrait être une option pour faire un DataTable
du IList
, mais il semble que beaucoup de surcharge supplémentaire; Je génère le IList
à partir d'une énumération.
Merci pour votre réponse. J'ai rencontré le même problème. Mon type de propriété de dépendance était IList qui était lié à un ILIst . (Foo implémente IFoo). Tout semblait fonctionner, sauf que la valeur de la propriété de dépendance était toujours nulle. Aucune exception ou sortie de débogage. Lorsque j'ai changé le type de propriété de dépendance à IList tout a commencé à fonctionner. –