でタッチドラッグアンドドロップ操作を処理しようとしていDragDrop.DoDragDrop
ます。この投稿で読んだように(私も、これにはサーフェス ドラッグ フレームワークを使用できません)、 も実装するQueryContinueDragHandler
必要があります。これには、次の実装があります。
(メインウィンドウのコンストラクターで)
this.QueryContinueDrag += (obj, e) =>
{
if(_touchDevice.IsActive)
e.Action = DragAction.Continue;
else
e.Action = DragAction.Drop;
};
(一部の TouchDown イベントハンドラで)
Object data = new Object();
_touchDevice = e.TouchDevice;
DragDrop.DoDragDrop(this, data, DragDropEffects.Link);
ただし、これにより_touchDevice.IsActive
、TouchDevice がまだ実際に「タッチ」しているかどうかに関係なく、常に true であるため、ドラッグ アクションが終了することはありません。
この質問は私のものにも関連していますが、答えが不十分であり、スレッドをゾンビに変えたくありませんでした。
TouchDevice がいつ非アクティブになるかを検出するにはどうすればよいですか?