我正在尝试将预定义的ComboBoxItem添加到我的ComboBox中,该ComboBox已经设置了ItemsSource属性。例如:
(Select item)
Item 1
Item 2
Item 3
可以在不修改原始项目集合的情况下执行此操作吗?
答案 0 :(得分:2)
以下是来自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- How do I convert a ComboBox to use a bound CompositeCollection?
答案 1 :(得分:2)
如果要动态更改items source的内容,请改用ObservableCollection,这样您就可以访问Add()方法。
private ObservableCollection<string> myStrings;
public MyClass()
{
myStrings = new ObservableCollection<string>();
myControl.ItemsSource = myStrings;
}
private void AddNewItem(string item)
{
myStrings.Add(item);
}