オブジェクトをそれにバインドしList<TripStop>
、ドロップダウン リストに使用するように要求するインターフェイスを作成しました。
//Convert the TripStop dictionnary to a list for databinding
StartStop.DataSource = EditorPlugin.getTripStops().Values.ToList();
StartStop.ValueMember = "Id";
StartStop.DisplayMember = "NameFr";
Value/DisplayMembers としての Id および NameFr。
バインド後にデータソースを調べると、すべてのデータが正しくバインドされていることがわかります。各オブジェクトの各プロパティは問題なく、データは破損していません。
問題?何かを選択して SelectedValue を見ると、間違った値が出力され、まったく別のアイテムの「ID」が取得されます。
逆も同じです。フォームをロードし、DropDownList に次のことを依頼します。
StartStop.SelectedValue = EditorObject.StartStop;
そして、表示されているのは、選択を依頼した実際の値とはまったく異なるアイテムです。たとえば、アイテム #4 を要求すると、#14 が選択されます。リストでアイテム #4 を選択すると、SelectedValue は #14 になります。
指標と値の間に相関関係はありません。
まだ見知らぬ人、もしそうなら:
EditorObject.StartStop = (UInt32)((TripStop)StartStop.SelectedItem).Id;
このメソッドは正常に機能し、選択したアイテムから正しい値を取得します。