-3

重複の可能性:
datagrid(wpf)でパスをバインドしていません

datagridのコンボボックス!!! ahtung!

 <ComboBox Name="mex" DataContext="{Binding RelativeSource={RelativeSource Self}}" Style="{DynamicResource ComboBoxStyle}"  ItemsSource="{Binding Path=combolist}" SelectionChanged="status_SelectionChanged" Height="Auto" Width="Auto">
</ComboBox>

それで

MySqlCommand status_db = new MySqlCommand("select name_ru from request_status", conn);
MySqlDataReader combodata = status_db.ExecuteReader();
List<string> combolist = new List<string>();
  while (combodata.Read())
  {
     combolist.Add(combodata.GetString(0));
  }

コンボボックス内のアイテムが空になるのはなぜですか?私はおかしくなりそうだ!!!

4

1 に答える 1

1

RelativeSource Selfこれは、DataContext が ComboBox 自体になることを意味します。ItemsSource をバインドするとき、combolist という名前の ComboBox のプロパティを見つけようとします (これはもちろん存在しません)。

問題を解決するには、次のいずれかを実行できます

  • ComboBox の DataContext をコントロール (またはウィンドウ、ページなど) に変更し、リストをコントロールのプロパティにします。
  • コード ビハインドで ItemsSource を直接設定します。mex.ItemsSource = combolist
于 2012-07-10T12:27:48.763 に答える