Как вызвать событие, когда значение в ячейке сетки данных wpf изменяется с помощью MVVM? - PullRequest
4 голосов
/ 21 июля 2011

Мне нужна помощь с сеткой данных wpf, использующей шаблон проектирования MVVM.

У меня есть база данных, связанная с наблюдаемой коллекцией.Первый столбец сетки содержит десятичные значения, которые нельзя редактировать.Второй столбец содержит текстовое поле, в которое необходимо ввести десятичное значение.В третьем столбце должна отображаться разница между значением в первом столбце и значением во втором столбце, КАК ЭТО ВВЕДЕНО.Я надеялся, что обработка события коллекционированного объекта observablecollection позволит met определить, когда поле одного из элементов в коллекции изменилось, но, похоже, это не работает.

Я также пытался обработать PropertyChangedсобытие выбранного элемента сетки, но это тоже не работает.

Может кто-нибудь указать мне, как вызвать событие в модели представления всякий раз, когда изменяется значение n в текстовом поле в сетке данных DataGridTemplateColumn?И как мне установить вычисленное значение в соответствующей строке третьего столбца?

1 Ответ

2 голосов
/ 21 июля 2011

Вы должны попытаться заняться этим с другого конца (т.е. из ViewModel).

Ваш элемент (называемый CollectionItem) в ObservableCollection должен реализовывать INotifyPropertyChanged.

Вам следует настроить сетку таким образом, чтобы изменение данных регистрировалось / фиксировалось при их изменении (не при фокусировке / перемещении)

, а затем в вашем CollectionItem следует попытаться обновить значение на основеизменение значения ввода.дайте мне знать, если вы хотите более подробно

...