这可能是 LINQ 和架构专家的基本问题,但是我无法理解我在尝试更新“静态 ObservableCollection”时遇到的问题。
Me.Grid1.ItemsSource = ContactList
Me.Grid2.ItemsSource = From s In ContactList Where s.ContactTypes.Any(Function(t) t.ContactTypeName = "Christmas List")
如果我向 ContactList ObservableCollection 添加一个新的 Contact 和 ContactType “Christmas List”,Grid1 会反射(reflect)额外的联系人,而 Grid2 会除非我重新绑定(bind),否则不会反射(reflect)更改。
无论如何反射(reflect) Grid2 中的变化以显示新的 Contact 与查询的 ContactType
最佳答案
Grid2 实际上是绑定(bind)到一个 IEnumerable(Of Contact) 而不是一个 Observable 集合。这就是更改未反射(reflect)在 Grid2 中的原因。您需要使用事件或 INotifyPropertyChanged 使 Linq 查询重新执行。
关于vb.net - LINQ 和静态 ObservableCollection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8037956/