ComboBox绑定到可观察集合如何添加1个额外值

时间:2015-12-16 11:47:34

标签: c# wpf combobox bind observablecollection

我有一个通过

绑定到可观察集合的组合框
cmbBladesTab1.ItemsSource = easyRunData.olstBlades;

工作正常。 我希望将组合框绑定到所有值加上一个。

E.g。 easyRunData.olstBlades;包含"PL1", "PL2", "PL3", "PL4"

cmbBladesTab1包含"ALL BLADES", "PL1", "PL2", "PL3", "PL4"

- ADD所有工作都必须从代码隐藏

完成

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

最简单的方法是在observable集合中添加一些带有前缀文本/键的额外项。 这样,因为它在集合中,它将在组合框中可见,当用户选择此项时,您可以评估它以查看它是否是添加的项目。

确实给出了一个很好的例子作为这个问题的答案add an item to combobox before bind data from data base

答案 1 :(得分:1)

您可以添加一个属性,将特定项添加到列表中。

ObservableCollection<string> myCollection;
ObservableCollection<string> MyCollectionViewProp
{
    get
    {
        var tempCollection = new ObservableCollection<string>(myCollection);
        tempCollection.Add("Extra element");
        return tempCollection;
    }
}

根据集合的大小和访问次数,这可能是编程最简单的解决方案。如果您需要经常访问它,此解决方案会变得越糟糕,因为它每次都会创建一个新的集合。 在这种情况下,您应该听取CollectionChanged事件并保留一个单独的冗余列表。