WPF:组合框只刷新到绑定时从来不开

问题描述:

我有一个组合框和的ItemsSource设置为一个字符串列表:WPF:组合框只刷新到绑定时从来不开

private List<string> list = new List<string>(); 
... 
ComboBox cbo = new ComboBox(); 
cbo.ItemsSource = list; 

组合框被涂抹上成功启动。
但是,当列表更改,组合框不会更新其项目,但只有当我扩大项目之前,否则组合框更新...
也奇怪:当我追踪组合框的项目数,计数是正确的更新号码,但显示的项目不是。
有人有一个想法,这里发生了什么?

编辑:见注释的解决方案张贴罗伯特

+0

您应该发布更多的代码。您发布的代码中的问题通过使用ObservableCollection解决,但您应该在此添加至少更新您的列表的代码。 – coldandtired 2011-03-16 12:57:12

我猜你需要使用的,而不是名单的ObservableCollection,因为组合框需要通知每当的收集变化。

+0

我已经试过这个,但是当我想打开组合框时出现下面的异常:“一个事件无法调用任何订阅者(来自HRESULT的异常:0x80040201)” – SpeziFish 2011-03-16 12:49:22

+0

那么从xaml通过{Binding Items}分机 – Robert 2011-03-16 12:52:47

+0

在我的架构中是不可能的。但是我发现,当我在未经调试的情况下启动应用程序时,错误未显示(请参阅http://connect.microsoft.com/VisualStudio/feedback/details/607403/wpf-crashing-on-cominterop)。但我认为,这是另一个问题。所以感谢您的解决方案。 – SpeziFish 2011-03-16 12:57:22

将列表更改为ObservableCollection。

使用ObservalbeCollection。它有内置的机制来通知和更改项目的数量。

+0

三次相同的答案会使它更好......请先阅读以前的答案! – SpeziFish 2011-03-16 13:24:11