2011-09-23 20 views
1

これはWindows Phone 7のSilverlightアプリケーションです。私は、スクロールリストを表示しているItemsControlを持っています。 ItemTemplateのコンテナとしてGridを使用しています。クリックしたアイテムの詳細ビューに移動するために、グリッド上でクリックイベント(タッチ)をキャプチャしたいと思います。しかし、私が利用できるのは、スクロールにも使用されているマウスイベントだけです。私は、フレームワークが私のためにスクロールイベントとクリックイベントを区別するAndroidプログラミングにもっと精通しています。私はWP7でこれをどうやって行うのですか?タッチイベントがスクロールに関連付けられているときは無視したいが、実際にユーザーがクリックしたクリックイベントをキャプチャする。手動でMouseLeftButtonUpを処理し、スクロールするときにフラグを設定するだけですが、イベントを無視するように指示しますが、リストを表示する必要があるたびに自分自身を書く必要はありません。私はこれが簡単な解決策を持つ非常に一般的なユースケースだと思います。以下ItemsControlアイテムでクリックイベントをキャプチャ

SOLUTION

マットの答えは働いたが、ここで私はそれが将来的にこれをグーグル人のために働くようになったかの完全な説明です。

  1. ダウンロードしWP7用のSilverlight Toolkitのインストール:http://silverlight.codeplex.com/releases/view/60291
  2. は、ツールキットの名前空間
  3. はそのべき項目にGestureListenerを追加含める
  4. プロジェクトに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> 

答えて

1

あなたは、あなたがグリッド上Tapイベントを使用することができます7.1(マンゴー)デバイスをターゲット/最新のツールを使用している場合。

まだターゲットを設定している場合は、Clickイベントを使用するか、ToolkitGestureListenerをタップを検出することができます。

+0

SLツールキットをインストールすると、コントロールにTapイベントが発生しますか?名前空間をインポートするか、別の種類のコントロールに変更する必要がありますか?私は今SLツールキットをインストールしています。 – Rich

+0

Nevermind ...例が見つかりました。ありがとう! – Rich

関連する問題