3

この方法を使用して、XAML からイベントをキャッチしています。

<i:Interaction.Triggers>
    <i:EventTrigger EventName="MouseWheel">
        <ei:CallMethodAction MethodName="ChangeValue" TargetObject="{Binding DataContext}" />
    </i:EventTrigger>
</i:Interaction.Triggers>

この方法はうまくChangeValue機能し、コードで関数を起動できます。しかし、関数のマウス ホイールの向き (上または下) を知りたいChangeValueです。それを行う方法はありますか?

4

2 に答える 2

2

プロパティも持つMVVM Lightを使用できます。次に、メソッドの代わりに、イベント引数をパラメーターとして受け取るコマンドを定義します。XAML は次のようになります。EventToCommandPassEventArgsToCommand

<i:Interaction.Triggers>
    <i:EventTrigger EventName="MouseWheel">
        <cmd:EventToCommand Command="{Binding ChangeValueCommand}"
                            PassEventArgsToCommand="True" />
    </i:EventTrigger>
</i:Interaction.Triggers>
于 2012-11-16T18:29:54.700 に答える
0

ここで説明する手法を使用しました。

http://blog.roboblob.com/2010/01/26/binding-ui-events-from-view-to-commands-in-viewmodel-in-silverlight-4/

そこにあるブログの投稿は非常に明確で、特に WPF/Silverlight の経験がある場合は簡単に理解できます。このバージョンの Event->Command パターンを実装していたときは、何の問題もありませんでした。

この機能は、MVVMLight などのフレームワークにも組み込まれており、利用できます。

基本的に、使用するイベントごとにコマンド (ICommand) を作成します。

于 2012-11-16T18:25:27.360 に答える