У меня есть DataForm
, привязанный к коллекции объектов RoleViewModel. Я использую поведение MVVMLight EventToCommand
, связанное с событием EditEnding
DataForm
, чтобы информировать мою ViewModel об изменении роли.
Теперь ... пользователь редактирует роль и может либо нажать «ОК», «Отмена», либо он может просто уйти. Эта информация хранится в свойстве DataFormEditAction
в DataFormEditEndedEventArgs
(OK DataFormEditAction.Commit
, остальные DataFormEditAction.Cancel
).
Проблема в том, что мне нужно выбрать, выбрать ли я PassEventArgsToCommand
, делая подпись команды RelayCommand<DataFormEditEndedEventArgs>
, или я связываю CurrentItem
DataForm
с CommandParameter
поведения, делая подпись RelayCommand<RoleViewModel>
. Мне понадобятся оба .
Мне нужно EventArgs
, чтобы узнать, отменил ли пользователь изменение или нет, и мне нужна новая Роль, чтобы сохранить его обратно в базу данных, если он не отменил его.
У кого-нибудь есть какие-нибудь умные предложения здесь? Думаю, я мог бы испачкать руки и создать второе поведение с двумя параметрами, но я бы предпочел этого, если есть более элегантное решение.
Любая помощь будет принята с благодарностью.
Заранее спасибо.