UWP拖放移动模拟器

时间:2017-03-01 07:34:28

标签: c# windows xaml mobile uwp

我使用UIElement.StartDragAsync实施了拖放操作。

代码如下。此代码在我的桌面上完美运行, 但在移动模拟器上运行时不起作用。发生的事情是DragCompleted总是在PointerPress -> OnDragStarting之后立即触发。当我使用单点触摸输入和放大器时,会发生这种情况。模拟器上的单点鼠标触摸输入。没有抛出异常,我也不使用错误处理代码。

private void OnDragStarting(UIElement sender, DragStartingEventArgs e)
    {
        e.Data.SetText("DRAG");
    }

private void OnPointerPressed(object sender, PointerRoutedEventArgs e)
    {
        if (!CanDragDrop) return;

        var pointerPoint = e.GetCurrentPoint(sender as UIElement);
        var dragOp = StartDragAsync(pointerPoint);
        dragOp.Completed += DragCompleted;
    }

private void DragCompleted(IAsyncOperation<DataPackageOperation> asyncInfo, AsyncStatus asyncStatus)
    {
        _dragOperation = null;
        if (asyncInfo.GetResults() == DataPackageOperation.Move)
        {
            // do stuff
        }
    }

0 个答案:

没有答案