これはWindows Phone 7のSilverlightアプリケーションです。私は、スクロールリストを表示しているItemsControlを持っています。 ItemTemplateのコンテナとしてGridを使用しています。クリックしたアイテムの詳細ビューに移動するために、グリッド上でクリックイベント(タッチ)をキャプチャしたいと思います。しかし、私が利用できるのは、スクロールにも使用されているマウスイベントだけです。私は、フレームワークが私のためにスクロールイベントとクリックイベントを区別するAndroidプログラミングにもっと精通しています。私はWP7でこれをどうやって行うのですか?タッチイベントがスクロールに関連付けられているときは無視したいが、実際にユーザーがクリックしたクリックイベントをキャプチャする。手動でMouseLeftButtonUpを処理し、スクロールするときにフラグを設定するだけですが、イベントを無視するように指示しますが、リストを表示する必要があるたびに自分自身を書く必要はありません。私はこれが簡単な解決策を持つ非常に一般的なユースケースだと思います。以下ItemsControlアイテムでクリックイベントをキャプチャ
SOLUTION
マットの答えは働いたが、ここで私はそれが将来的にこれをグーグル人のために働くようになったかの完全な説明です。
- ダウンロードしWP7用のSilverlight Toolkitのインストール:http://silverlight.codeplex.com/releases/view/60291
- は、ツールキットの名前空間
- はそのべき項目にGestureListenerを追加含める
- プロジェクトにMicrosoft.Phone.Controls.Toolkit.dllへの参照を追加します。タップイベントを受け取る:この機能を必要とするページやコントロールに追加する
名前空間:
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
xmlns:toolkitPrimitives="clr-namespace:Microsoft.Phone.Controls.Primitives;assembly=Microsoft.Phone.Controls.Toolkit"
更新リストXAML(省略):
<ItemsControl ItemsSource="{Binding FeedItems}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<!-- Container -->
<Grid HorizontalAlignment="Stretch">
<toolkit:GestureService.GestureListener>
<toolkit:GestureListener
Tap="OnFeedItemTap" />
</toolkit:GestureService.GestureListener>
SLツールキットをインストールすると、コントロールにTapイベントが発生しますか?名前空間をインポートするか、別の種類のコントロールに変更する必要がありますか?私は今SLツールキットをインストールしています。 – Rich
Nevermind ...例が見つかりました。ありがとう! – Rich