我想用我在WPF中的列表填充组合框内容。我可以在winform中正常做,但是wpf看起来有点不同......
我不在XAML中创建任何代码。整个控件在运行时动态创建..
所以这是我的代码
cmbKriterKategori是一个组合框。
cmbKriterKategori.DisplayMemberPath = "Value";
cmbKriterKategori.SelectedValuePath = "Key";
cmbKriterKategori.ItemsSource = yHelper.GetCriterList().ToList();
发生错误
在使用ItemsSource之前,项目集合必须为空。
我也尝试过那样
cmbKriterKategori.DisplayMemberPath = "Value";
cmbKriterKategori.SelectedValuePath = "Key";
cmbKriterKategori.DataContext = yHelper.GetCriterList().ToList();
它不会出现任何错误,但组合框没有任何项目..
yHelper.GetCriterList()ToList();此函数返回List> 和yHelper.GetCriterList()返回Dictionary
我在winform中使用了该代码并且它可以工作..
cmbKriterKategori.DisplayMember = "Value";
cmbKriterKategori.ValueMember ="Key";
cmbKriterKategori.DataSource = yhelper.GetCriterList().ToList();
那么,问题是什么?
答案 0 :(得分:0)
你必须清除你的组合项目,否则不会抛出Items collection must be empty before using ItemsSource
异常
cmbKriterKategori.Items.Clear();
cmbKriterKategori.DisplayMemberPath = "Value";
cmbKriterKategori.SelectedValuePath = "Key";
cmbKriterKategori.ItemsSource = yHelper.GetCriterList().ToList();