コンボボックスは次のように定義されます
<ComboBox Name="cmbCallSource" />
フォームの読み込み時に、次のコードを実行します (dtSources データテーブルがデバッガーで適切な内容になることを確認しました)。
//Init Source List
dtSources = new DataTable();
dtSources.Columns.Add(new DataColumn("Key", Type.GetType("System.Int32")));
dtSources.Columns.Add(new DataColumn("Caption", Type.GetType("System.String")));
dtSources.Rows.Add(new object[] { -1, Utility.GetStringByKey("string1") }); ;
dtSources.Rows.Add(new object[] { 0, Utility.GetStringByKey("string2") }); ;
dtSources.Rows.Add(new object[] { 1, Utility.GetStringByKey("string3") }); ;
dtSources.Rows.Add(new object[] { 2, Utility.GetStringByKey("string4") }); ;
dtSources.Rows.Add(new object[] { 3, Utility.GetStringByKey("string5") }); ;
dtSources.Rows.Add(new object[] { 4, Utility.GetStringByKey("string6") }); ;
//Attempt 1
cmbCallSource.DataContext = dtSources.DefaultView;
cmbCallSource.SelectedValuePath = "Key";
cmbCallSource.DisplayMemberPath = "Caption";
//Attempt 2
//Binding myBinding = new Binding("Name");
//myBinding.Source = dtSources; // data source from your example
//cmbCallSource.DisplayMemberPath = "Caption";
//cmbCallSource.SelectedValuePath = "Key";
//cmbCallSource.SetBinding(ComboBox.ItemsSourceProperty, myBinding);
私は両方の方法を試しました(2番目の方法はコメントアウトされています)。コンボボックスはどちらの方法でも空になります。ここで何が欠けていますか?