ストアアプリでは画面のタッチ操作をイベントとして捉えることができます。 今回はタップに関するイベントを見ていきます。 最初に、ストアアプリで使用できるタッチイベントについて整理しておきましょう。
| ジェスチャ | 説明 |
| タップ | 1本の指で画面をタッチし、指をあげる |
| 長押し | 1本の指で画面を押し続ける |
| スライド | 1本または複数の指で画面を同じ方向に動かす |
| スワイプ | 1本または複数の指で画面を少しだけ動かす |
| ピンチ | 2本の指で画面をタッチして指の間の距離を近づけるか遠ざける |
| 回転 | 2本の指で画面をタッチしたまま、時計回りか反時計回りに回転させる |
| ストレッチ | 2本の指で画面をタッチして指の間の距離を遠ざける |
タップ
タップ操作は以下の様に細かく分かれます。
| ジェスチャ | イベント | 説明 |
| タップ | Tapped | 1本指でのタップ |
| ダブルタップ | DoubleTapped | 1本指で素早く2回画面をタップ |
| 右タップ | RightTapped | 2本指でタップ |
| 長押し | Holding | 1本指で画面を長押し |
上記に示したイベントをキャッチするには、それぞれ許可されている必要があります。 許可は以下表プロパティをTrueに設定します。既定値はTrueになっているので特に指定をする必要はありません。
| プロパティ | 対応するジェスチャ |
| IsTapEnabled | タップ |
| IsDoubleTapEnabled | ダブルタップ |
| IsRightTapEnabled | 右タップ |
| IsHoldingEnabled | 長押し |
タッチイベントを実装する
それではタッチイベントを実装しましょう。 MainPage.xamlにRectangleコントロールとTextBlockを1つ貼り付けて実験をします。 TextBlockのNameプロパティはtxbEventとしておいてください。 最初にRectangleコントロールのタッチイベントの許可を行います。 XAMLの例
<Rectangle IsTapEnabled="True"
IsDoubleTapEnabled="True"
IsRightTapEnabled="True"
IsHoldingEnabled="True"/>
次にイベントの実装をします。 イベントの実装例は以下の通りです。 VBの例
Private Sub Rectangle_Tapped(sender As Object, e As TappedRoutedEventArgs)
txbEvent.Text = "タップされました"
End Sub
Private Sub Rectangle_DoubleTapped(sender As Object, e As DoubleTappedRoutedEventArgs)
txbEvent.Text = "ダブルタップされました"
End Sub
Private Sub Rectangle_RightTapped(sender As Object, e As RightTappedRoutedEventArgs)
txbEvent.Text = "右タップされました"
End Sub
Private Sub Rectangle_Holding(sender As Object, e As HoldingRoutedEventArgs)
txbEvent.Text = "長押しされました"
End Sub
C#の例
private void Rectangle_Tapped(object sender, TappedRoutedEventArgs e)
{
txbEvent.Text = "タップされました";
}
private void Rectangle_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e)
{
txbEvent.Text = "ダブルタップされました";
}
private void Rectangle_RightTapped(object sender, RightTappedRoutedEventArgs e)
{
txbEvent.Text = "右タップされました";
}
private void Rectangle_Holding(object sender, HoldingRoutedEventArgs e)
{
txbEvent.Text = "長押しされました";
}
実行例は以下の通りです。
Please follow and like us:

コメント