2

天哪!我讨厌这个。为什么这么复杂?

我正在尝试做的事情:

我有一个带有几个用户控件的表单,每个用户控件都有一个 DataGrid。每个网格通过 .ItemSource 属性与 ObservableCollection 绑定,每当程序捕获到一个事件时,它都会对隐含的集合之一进行更改。但是网格的图片不会更新。

4

1 回答 1

8

如果元素的属性已更改, ObservableCollection将不会通知控件 - 除非该元素通过INotifyPropertyChanged明确通知订阅者。

为什么它会这样工作?集合只是一个容器,虽然它知道元素的数量以及添加或删除元素的时间,但它不知道元素的“内部”以及哪些属性应该发出通知。即使您自己实现 INotifyPropertyChanged,也需要决定更改哪些属性应该引发事件。

于 2009-06-11T18:30:22.883 回答