WPF DataBinding - полностью сбит с толку - PullRequest
2 голосов
/ 11 июня 2009

Гоша! Я ненавижу это. Почему это так сложно?

Что я пытаюсь сделать:

У меня есть форма с несколькими элементами UserControl, каждый с DataGrid. Каждая сетка связывается с ObservableCollection через свойство .ItemSource, каждый раз, когда программа ловит событие, она вносит изменения в одну из подразумеваемых коллекций. Но изображение сетки не обновляется.

1 Ответ

8 голосов
/ 11 июня 2009

ObservableCollection не будет уведомлять элемент управления, если свойство элемента изменилось - если только элемент специально не уведомляет подписчиков через INotifyPropertyChanged .

Почему это работает так? Коллекция - это просто контейнер, и, хотя она знает о количестве элементов и о том, когда элемент был добавлен или удален, она не знает, «что находится внутри» элемента и какие свойства должны вызывать уведомления. Даже когда вы реализуете INotifyPropertyChanged самостоятельно, вам придется решить, какие свойства должны вызывать событие.

...