CellEditEnded происходит слишком поздно
Когда пользователь изменяет значение ячейки (DataGridCheckBoxColumn
), а затем щелкает другой элемент пользовательского интерфейса за пределами сетки данных, событие щелчка другого элемента пользовательского интерфейса запускается перед сеткой данных CellEditEnded.
Это проблема, потому что в моем случае другой элемент пользовательского интерфейса представляет собой кнопку, которая изменяет свойство Filter объекта PagedCollectionView, который передает сетку данных (по сути, это имитирует "перемещение на страницу 2" строк для редактирования). Исключение:
"Фильтр" недопустим во время транзакции AddNew или EditItem.
Как заставить форсирование EditItem (или AddNew в этом отношении) перед установкой фильтра?
1 ответ
Я не знаю о silverlight, но в WPF вы можете попытаться зафиксировать транзакцию перед установкой фильтра:
if ((collection as IEditableCollectionView).IsAddingNew) (collection as IEditableCollectionView).CommitNew(); // or .CommitEdit();