不添加或删除,但在Silverlight中编辑组合框项目?

时间:2012-11-21 10:16:41

标签: silverlight combobox

所以我有这个组合框,其中ItemsSource被设置为一个对象列表。

之后我要做的是更改一个特定项目(列表中的第一个)的显示值,因为此标签在某些情况下不适合上下文,但在其他情况下则适用。

到目前为止,我发现您可以使用添加方法添加项目,插入使用插入 >方法,并使用 RemoveAt 删除

但你如何更新呢?我知道我之后可以使用RemoveAt和Insert,但是它会有点劳力密集,而且我必须用它的所有值重新创建对象......

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

替换“对象列表”中的项目:

myList[0] = new MyObject("Another display text").

为此(以及AddRemove等)工作,您的列表必须是ObservableCollection<T>或其他任何实现INotifyCollectionChanged的内容。

修改项目本身:

myList[0].DisplayText = "Another display text";

为了实现这一点,您的MyObject类必须实现INotifyPropertyChanged,您必须在设置PropertyChanged属性时引发DisplayText事件,并且您必须正确设置DisplayMemberPath的{​​{1}}或ItemTemplate

请查看MVVM pattern了解详情。