9

をコマンドに、私はイベントとコマンドの挙動でのViewModelにCommand ParametersEventArgsの両方を渡す方法を見つけようとしています。MVVM - ライト=>パスコマンドパラメータとのEventArgsは、Silverlight 5に<code>MVVM-Light Toolkit</code>を使用して

EventArgsをコマンドパラメータとして渡すことを提案する投稿を見つけましたが、私の場合、ViewModelでEventArgsCommand Parameterの両方を使用したいと考えています。

誰でも手助けできますか?誰が疑問に思っている場合

+0

これはMVVM-Lightツールキットを使用しても可能ですか? – Thr3e

+0

私はイベント引数から必要な情報を含む軽量オブジェクトを作成し、通常はコマンドパラメータとして送信するオブジェクトを作成し、その新しい軽量オブジェクトをコマンドパラメータとして使用します。 –

+0

@StewartSweet申し訳ありませんが、そのようなオブジェクトを表示するにはどうすればできますか?親切に例を示すことができますか? – Thr3e

答えて

11

は...場合には....

コンセプトを問題を解決:私たちは、コマンドにMVVM - ライトイベントを経由しているEventArgsを渡す必要があります。 Command toイベントでは、ソースがあります。この 'Source'プロパティをこのコマンドを生成したオブジェクトにキャストできます。

例:

我々はViewModelにコンストラクタ内のEventArgs

FilterQuotationsCommand = new RelayCommand<GridViewFilteredEventArgs>(FilterQuotationsCommandExecute); 

でコマンドを宣言し、我々は、送信制御にキャストした後、「ソース」を経由して送信者にアクセスします。

private void FilterQuotationsCommandExecute(GridViewFilteredEventArgs e) 
    { 
     var grid = (RadGridView) e.Source; // we casted the Source to Grid 
     var item = grid.SelectedItem;  // we can access grid's selected items 
    } 
関連する問題