中断给UWP上墨后无法与InkPresenterRuler进行交互

时间:2018-08-10 02:32:22

标签: uwp inkcanvas

我正在编写一个在UWP中使用InkCanvas的应用程序。 在我的应用程序中,我确实启用了双指手势来平移和缩放以及单指来笔迹。 为此,我在检测到多点触摸时禁用了IsInputEnabled。 这样做的代码看起来像这样

InkManager.Element.InkPresenter.UnprocessedInput.PointerEntered += 
delegate (InkUnprocessedInput sender, PointerEventArgs args)
{
    if (args.CurrentPoint.PointerDevice.PointerDeviceType == PointerDeviceType.Touch)
    {
        _numContacts++;
        if (_numContacts == 2)
        {
            InkManager.Element.InkPresenter.IsInputEnabled = false;
        }
    }
 };

然后在视图操作后重新启用IsInputEnabled。

除标尺外,一切正常。

 InkPresenterRuler Ruler = new InkPresenterRuler(InkManager.Element.InkPresenter)
 {
     Length = _container.Width
 };

如果我在画布上附加了InkPresenterRuler,则在我向画布上添加至少一个笔划之前,不能再移动标尺。 看来,当我即时禁用输入时,正在进行的上墨已成功在InkPresenter上中止,但仍挂在连接的标尺上,直到处理了以下输入。同样的问题也适用于InkPresenterProtractor。

我找不到任何方法(在标尺或画布上),可以完全清除待处理的事件,以使标尺能够以编程方式正常工作。

在UWP上使用InkCanvas的任何人都对如何解决此问题提出了建议?

谢谢!

0 个答案:

没有答案