MSDN ライブラリ
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

UIElement.MouseMove イベント

2013/12/12

画面上で指の座標位置が UIElement をタッチしているときに (つまり、UIElement がタッチ キャプチャを保持している間) 発生します。

Namespace:  System.Windows
アセンブリ:  System.Windows (System.Windows.dll 内)
XAML の XMLNS: xmlns にマップされていません。

'宣言
Public Event MouseMove As MouseEventHandler
<uiElement MouseMove="eventhandler"/>

MouseButtonEventHandler に基づくハンドラーを使用して、このイベントを処理します。タッチ イベントの処理方法の詳細については、「クイックスタート:Windows Phone のタッチ入力

MouseMove のハンドラーのコードを記述するときは注意が必要です。MouseMove は、ユーザーがアプリケーションを操作しているとき、またはハンドラーのあるオブジェクト領域を操作しているときに頻繁に発生します。MouseMove のハンドラー内に、複雑な計算やグラフィック処理のコードを記述すると、ユーザーの指による "描画" や、アプリケーションの全体的な動作の速度が、著しく低下する場合があります。

MouseMove イベントは、CanvasTextBlockRectangle などの UIElement の派生クラスで処理できます。

MouseMove イベントは、指がオブジェクトのコンテンツ領域を越えて移動したときの応答として発生します。指がオブジェクトの境界領域に入った場合、そのオブジェクトの MouseEnter イベントが発生してから MouseMove イベントが発生します。ユーザーの指が実際には移動しなかった場合、MouseMove イベントは発生しません。たとえば、指が静止している場合、MouseMove は発生しません。MouseMove ハンドラーを持つオブジェクトの位置がアニメーション化されます。それ以外の場合は、指の下へ移動するように調整されます。

タッチをキャプチャしている UIElement は、指のあらゆる動きについての MouseMove イベントを受け取ります。

ルーティング イベントの動作

MouseMove イベントはバブル イベントです。これは、オブジェクト ツリーの親子関係によって関連付けられたオブジェクトのシーケンス用に複数の MouseMove イベント ハンドラーが登録されている場合、その親子関係の各オブジェクトによってイベントが受け取られることを意味します。"バブル" とは、イベントが、入力条件を直接受け取るオブジェクトから始まり、オブジェクト ツリーを順に上っていくようすを表しています。バブル イベントの場合、イベント ハンドラーに使用できる sender は、イベントが処理されるオブジェクトを識別します。そのオブジェクトは、イベントを開始する入力条件を実際に受け取ったオブジェクトであるとは限りません。イベントを開始したオブジェクトを見つけるには、イベントの MouseEventArgs イベント データの OriginalSource 値を使用します。

MouseMove と OnMouseMove

MouseMove を継承するコントロールは、OnMouseMove メソッドをオーバーライドして、すべてのインスタンスのハンドラーとしてイベントを処理できます。このイベントを直接処理する場合と同様に、Handled プロパティは使用できないため、OnMouseMove の実装で、Handled の手法を使用してイベントの追加処理を抑制することはできません。ただし、表示状態を設定したり、タッチスクリーンに関連する状態プロパティや動作を設定したりするために OnMouseMove を使用することはできます。たとえば、ButtonBase では、ボタンのタップをキャンセルできるようにする大きな動作セットの一部として、OnMouseMove を実装しています。したがってユーザーがボタンをタップした後で指をボタンの境界の外に移動した場合、タップは発生しません。詳細については、OnMouseMove を参照してください。

Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2016 Microsoft