如何将我的列表绑定到WPF中的组合框

时间:2012-08-13 22:57:28

标签: c# wpf datacontext

我想用我在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();

那么,问题是什么?

1 个答案:

答案 0 :(得分:0)

你必须清除你的组合项目,否则不会抛出Items collection must be empty before using ItemsSource异常

        cmbKriterKategori.Items.Clear();
        cmbKriterKategori.DisplayMemberPath = "Value";
        cmbKriterKategori.SelectedValuePath = "Key";
        cmbKriterKategori.ItemsSource = yHelper.GetCriterList().ToList();