Mvvm Light ListBox MouseButtonLeftDownおよびEventToCommand-クリックされたアイテムを渡す方法

mvvm-light windows-phone-7
Mvvm Light ListBox MouseButtonLeftDownおよびEventToCommand-クリックされたアイテムを渡す方法

MVVM Light Windows Phone 7アプリでListBoxをデータバインドし、ユーザーがListBoxのアイテムをクリックしたときにビューモデルでコマンドを呼び出したい。

私はEventToCommand動作を使用してこれを行っていますが、MouseLeftButtonDownイベントを使用すると、クリックされたリスト要素に関連付けられたデータ項目を渡すことができないことを除いて、すべてが良好です…​

SelectionChangedイベントを使用する場合、動作のCommandParameterをListBoxのSelectedItemにバインドできますが、MouseLeftButtonDownイベントを使用したいのです。

何か案は? 「PassEventArgsToCommand」オプションを設定してビューモデルを汚染したくないのですが、いずれにしても、選択したデータ項目をMouseButtonEventArgsから取得できるかどうかはわかりません。

現在、コードビハインドでイベントハンドラーを設定し、そこからViewModelを呼び出し、「送信者」を使用してデータ項目を取得します。

ありがとう、

Damian

  0  0


ベストアンサー

質問は実際には意味をなさないようです。ListBoxで発生するMouseLeftButtonDownイベントは、ListBoxの特定のアイテムに関連付けられていません。

代わりに、ListBoxに関連付けたItemTemplateでこのイベントに接続しようとしています。

0


Jesse Libertyが良い例をここに示します:http://jesseliberty.com/2011/01/09/passing-parameters-with-behaviors-in-mvvm-light-for-windows-phone/[Passing Parameters …​]

ただし、Windows Phone 7.5を使用している場合は、1つ変更する必要があります。これは、次の例に示すように、Galasoft EventToCommand構文を使用できなくなることです。

また、Windows Phone 7.5の場合、各アイテムにリンクされたコンテキストメニューでコマンドを使用するためのhttp://windowsphonegeek.com/articles/ListBox-ContextMenu-with-MVVM-in-Windows-Phoneを確認してください。

0


タイトルとURLをコピーしました