Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';中断墨迹UWP后,不能与墨迹呈现器交互_Uwp_Inkcanvas - Fatal编程技术网

Can';中断墨迹UWP后,不能与墨迹呈现器交互

Can';中断墨迹UWP后,不能与墨迹呈现器交互,uwp,inkcanvas,Uwp,Inkcanvas,我正在写一个应用程序,它在UWP中使用InkCanvas。 在我的应用程序中,我确实启用了双触手势来平移和缩放以及单触墨水。 为此,当我检测到多点触摸时,禁用IsInputed。 执行此操作的代码如下所示 InkManager.Element.InkPresenter.UnprocessedInput.PointerEntered += delegate (InkUnprocessedInput sender, PointerEventArgs args) { if (args.Cur

我正在写一个应用程序,它在UWP中使用InkCanvas。 在我的应用程序中,我确实启用了双触手势来平移和缩放以及单触墨水。 为此,当我检测到多点触摸时,禁用IsInputed。 执行此操作的代码如下所示

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;
        }
    }
 };
然后在视图操纵之后重新启用ISInputed

除了尺子,一切都很好

 InkPresenterRuler Ruler = new InkPresenterRuler(InkManager.Element.InkPresenter)
 {
     Length = _container.Width
 };
如果在画布上附加了InkPresenterRuler,则在向画布添加至少一个笔划之前,无法再移动标尺。 看起来,当我动态禁用输入时,InkPresenter上正在进行的墨迹已成功中止,但在连接的标尺上保持挂起状态,直到处理了以下输入。同样的问题也适用于InkPresenterProtractor

我找不到任何方法(在标尺或画布上),允许我完全清理挂起的事件,以使标尺以编程方式正常工作

任何在UWP上使用InkCanvas的人对如何解决这个问题有什么建议吗


谢谢

你能不能创建一个简单的样本在这里复制一下,这样我就可以研究这个问题了?@BreezeLiu MSFT绝对可以!这里是指向.xaml文件和我上传的.cs文件的链接,这里还有整个简单的项目示例,尝试缩放画布,然后移动标尺。标尺会一直固定,直到您划过画布,然后标尺会解锁,但在下一次缩放时它会再次锁定