为什么需要创建可观察的集合

时间:2010-09-03 13:54:14

标签: c# wpf

我在看this教程。在大约15:40左右,发言者说像LINQ查询这样的东西不会创建像BindingListCollectionView这样的丰富集合。我想也许这意味着更改不会保存到数据库或其他东西。所以我试着替换

var result = database.Customers.Execute(System.Data.Objects.MergeOption.AppendOnly);

var result = from cust in database.Customers
             where cust.City == "Seattle"
             select cust;

并且一切正常。

2 个答案:

答案 0 :(得分:9)

ObservableCollection有一个事件,当它们的内容发生变化时会被触发,这样ListView,ComboBox等可以在数据发生变化时与你的数据保持同步。如果列表的内容永远不会改变,则不需要使用ObservableCollection。

答案 1 :(得分:0)

有时您不能使用ObservableCollection,因为您已经编写了要绑定的自定义集合类。在这种情况下,您可以在自定义集合上实现ICollectionChanged和IPropertyChanged接口。

然后,您的自定义集合将像ObservableCollection一样工作(或者至少在集合中的实现范围内)。