2011-08-27 21 views
0

我有一個DataForm綁定到RoleViewModel對象的集合。我使用MVVMLight的EventToCommand行爲綁定到EditEnding事件DataForm的角色時已經編輯告訴我的視圖模型。MVVM Light EventToCommand和Silverlight DataForm - 我需要EventArgs和一個自定義的CommandParameter。可能?

現在,......用戶編輯一個角色,可以單擊「確定」,「取消」或他們可以簡單地瀏覽了。此信息在DataFormEditEndedEventArgsDataFormEditAction財產持有(OK是DataFormEditAction.Commit其餘均爲DataFormEditAction.Cancel)。

的問題是,我必須選擇我是否選擇PassEventArgsToCommand,使得命令RelayCommand<DataFormEditEndedEventArgs>的簽名或我綁定DataFormCurrentItem的行爲CommandParameter,使得簽名RelayCommand<RoleViewModel>。我需要

我需要EventArgs來知道用戶是否取消了編輯,如果他們沒有取消它,我需要新角色將它保存回數據庫。

沒有人有任何建議,巧在這裏?我想我可以弄髒自己的手並用兩個參數創建第二個行爲,但如果有更優雅的解決方案,我寧願不要。

任何幫助將不勝感激。

在此先感謝。

回答

2

如果您的視圖模型持有newrole該數據形的綁定值,那麼你可以PassEventArgsToCommand,你可以保存/更新/取消之前操作數據。

這是我們已經解決了類似的場景。

+0

我一直在等待有人回答這個問題。這正是我最終採取的方法,當然也是正確的做法。有些日子,我猜所有的事情看起來都像是釘子。 :-) – Stimul8d

相關問題