1

私は現在、Windows8アプリケーションを作成しています。ViewModelでメソッドを呼び出そうとしています。アイテムがダブルクリックされたときにこのメソッドが呼び出されるようにしたい。これを行うために、XAMLで次のDataTemplateを定義しました。

<DataTemplate x:Key="ItemTemplate">
                <StackPanel Orientation="Horizontal">
                    <Image Width="185" Height="185" Stretch="Fill" Source="{Binding Path=Image}" DoubleTapped="{Binding Path=MethodIWishToBindTo}" IsDoubleTapEnabled="True"  />
                    </StackPanel>
            </DataTemplate>

もちろん、問題は次のバインドのエラーメッセージですMethodIWishToBindTo

'DoubleTapped'の値が無効です。イベント値はテキストである必要があります

これを回避するための最良の方法は何ですか?コードビハインドでメソッドを呼び出すことはできますが、メソッドはViewModelのプロパティを使用します"SelectedItemInList"。これは、コードビハインドからアクセスできるとは思えません。

誰かが私にこの問題についていくつかのアドバイスを提供できますか?

どうもありがとう。

4

1 に答える 1

1

Interactivityとカスタム動作を使用して、イベントをトリガーできます。例をトピックでカバーする投稿は次の とおりです。MVVM-Silverlightでチェックボックスがオン/オフの場合のLightEventToCommandの動作

MVVM-Lightは間違いなくこれを簡単にしますが、それがなくても可能です。

なしの例を次に示します。http://blog.roboblob.com/2010/01/26/binding-ui-events-from-view-to-commands-in-viewmodel-in-silverlight-4/

于 2013-01-17T14:53:45.213 に答える