4

我正在尝试将预定义的 ComboBoxItem 添加到我的 ComboBox 中,该 ComboBox 已经设置了 ItemsSource 属性。例子:

(Select item)
Item 1
Item 2
Item 3

可以在不修改原始项目集合的情况下执行此操作吗?

4

2 回答 2

4

下面是来自 MSDN 的一些示例代码,展示了 CompositeCollection 的用法:

<ComboBox>
    <ComboBox.ItemsSource>
        <CompositeCollection>
            <ListBoxItem>Please Select</ListBoxItem>
            <CollectionContainer Collection="{Binding Source={StaticResource YOURDATASOURCE}}" />
        </CompositeCollection>
    </ComboBox.ItemsSource>
</ComboBox>

以下是向您展示 CompositeCollection 用法的一些参考资料:

1- http://msdn.microsoft.com/en-us/library/system.windows.data.compositecollection.aspx

2- http://robertbouillon.com/2010/04/17/adding-items-to-a-data-bound-wpf-combobox/

3-如何将 ComboBox 转换为使用绑定的 CompositeCollection?

于 2012-11-24T14:24:15.897 回答
2

如果您想动态更改项目源的内容,请改用 ObservableCollection,这样您就可以访问 Add() 方法。

private ObservableCollection<string> myStrings;

public MyClass()
{
    myStrings = new ObservableCollection<string>();
    myControl.ItemsSource = myStrings;
}

private void AddNewItem(string item)
{
    myStrings.Add(item);
}
于 2012-11-24T14:40:28.023 回答