1 つの子コントロールを持つ Canvas があります。子コントロールはすべての PreviewTouchDown および PreviewTouchUp イベントを正常に受け取りますがIsManipulationEnabled
、Canvas で Manipulation (= true) を有効にすると、子オブジェクトで「ダウン」イベントのみが発生しますが、TouchUp および PreviewTouchUp イベントはまったく発生しません。
ここで何が起こっているのですか?
子要素にも設定IsManipulationEnabled
する必要があります。true
タッチ イベントと操作イベントの関係は、入力の概要 / タッチと操作のセクションタッチ イベントと操作イベントの関係で説明されています。
UIElement は常にタッチ イベントを受け取ることができます。IsManipulationEnabled プロパティが true に設定されている場合、UIElement はタッチ イベントと操作イベントの両方を受け取ることができます。TouchDown イベントが処理されない場合 (つまり、Handled プロパティが false の場合)、操作ロジックは要素へのタッチをキャプチャし、操作イベントを生成します。TouchDown イベントで Handled プロパティが true に設定されている場合、操作ロジックは操作イベントを生成しません。次の図は、タッチ イベントと操作イベントの関係を示しています。
タッチおよび操作イベント