0

DataFormRoleViewModelオブジェクトのコレクションにバインドしています。のイベントにバインドされたMVVMLightのEventToCommand動作を使用して、ロールが編集されたときにViewModelに通知しています。EditEndingDataForm

さて、...ユーザーは役割を編集し、[OK]、[キャンセル]のいずれかをクリックするか、単に移動することができます。この情報は、 (OKビーイングと他のビーイング)のDataFormEditActionプロパティに保持されます。DataFormEditEndedEventArgsDataFormEditAction.CommitDataFormEditAction.Cancel

PassEventArgsToCommand問題は、コマンドの署名を作成するか、のを動作ののにRelayCommand<DataFormEditEndedEventArgs>バインドして署名を作成するかを選択する必要があることです。両方が必要になります。CurrentItemDataFormCommandParameterRelayCommand<RoleViewModel>

ユーザーが編集をキャンセルしたかどうかを知る必要がありEventArgsます。キャンセルしなかった場合は、データベースに保存するために新しいロールが必要です。

誰かがここで賢い提案がありますか?手を汚して、2つのパラメーターを使用して2番目の動作を作成できると思いますが、より洗練されたソリューションがある場合は、そうしません。

どんな助けでも大歓迎です。

前もって感謝します。

4

1 に答える 1

2

ビューモデルが newrole のバインド可能な値をデータフォームに保持している場合は、EventArgsToCommand を渡すことができ、保存/更新/キャンセルする前にデータを操作できます。

これが、同様のシナリオを解決した方法です。

于 2011-10-10T09:04:11.657 に答える