2

我正在尝试使用DragDrop.DoDragDrop. 正如我在这篇文章中所读到的(我也不能为此使用表面拖动框架),我还必须实现 a 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 实际上是否仍然“触摸”。 这个问题也和我的有关,但是我觉得答案不理想,不想把线程变成僵尸。

如何检测 TouchDevice 何时/是否处于非活动状态?

4

0 回答 0