.Net 4 WPF DataGrid С# MMVM
Когда DataGrid SelectionUnit является полной строкой, привязка данных wpf и сборка позаботятся о том, чтобы сообщить мне в viewmodel, что является активно выбранным элементом, через свойство viewititem. Это отлично работает для readonly grid с режимом выбора, установленным в fullrow.
Теперь у меня есть редактируемая сетка. Поэтому я устанавливаю SelectionUnit = Cell, чтобы было легче определить, какая ячейка находится. Теперь неожиданно сетка больше не имеет возможности отслеживать элемент выбора. Я не могу даже установить SelectedItem, когда он установлен в режим ячейки. Итак, теперь модель просмотра всегда думает об этом в первой строке. Я могу обработать SelectedCellsChanged в сетке, чтобы выяснить, в какой строке я включен, я просто не могу позволить viewmodel знать, так как сетка SelectedItem больше не может быть установлена!
Я не понимаю, почему в режиме выбора ячейки сетка еще не может иметь SelectedItem.
Заканчивая hardcoding в моей сетке, чтобы передать ItemSource в мой просмотр коллекции, чтобы вызвать MoveCurrentTo из события SelectedCellsChanged, есть ли другой MVVM истинный способ сохранить представление CurrentItem в синхронизации с сеткой?
Либо это, либо я меняю стиль сетки, чтобы удалить или уменьшить эффект выделения строки, когда у меня есть редактируемая сетка.