Изменение данных в ячейке DataGrid

Рейтинг: 0Ответов: 1Опубликовано: 26.01.2015

Всем привет!

Есть DataGrid, к нему привязана некоторая коллекция, я хочу изменять данные в одном столбце (типа double), валидировать их и в зависимости от значения пересчитывать значение в другом столбце (double).

Проблема в том, что я не могу получить новое значение, которое ввёл в ячейку. Я использую команду ChangeCellCommand, и при её вызове у меня в ячейке хранится старое значение. Если в столбце в привязке указать UpdateSourceTrigger=PropertyChanged, то я получаю новое значение. Но тут возникает другая проблема - я не могу в ячейку вводить ни точку, ни запятую, только целые числа. Подскажите, как лучше сделать? Или, может, есть другая команда при изменении значения ячейки?

Ответы

▲ 3Принят

Какой тип коллекции вы биндите, лучше всего использовать ObservableCollection<T>, тогда при изменении данных в ячейке, изменится и объект коллекции. А для класса этих объектов можно имплементировать INotifyPropertyChanged и тогда после изменения свойства можно автоматически менять и другие свойства объекта.