我正在编写一个在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的任何人都对如何解决此问题提出了建议?
谢谢!