我正在使用C# UWP
编写程序,其中我有一个覆盖整个屏幕的Inkcanvas
。不禁用这个InkCanvas我想获得鼠标位置。我试图设置一个事件是这样的:如何在使用UWP InkCanvas时获得鼠标位置
MyInkCanvas.PointerMoved += MyInkCanvas_PointerMoved;
然而,这一事件不会被调用,因为我猜它是由InkCanvas处理。相反,我试图做到以下几点:
MyInkCanvas.addHandler(PointerMovedEvent, new PointerEventHandler(MyInkCanvas_PointerMoved), true);
这不工作,要么这可能意味着我做错了什么,因为AddHandler的文件说:
添加路由事件处理程序指定的路由事件,将处理程序添加到当前元素上的处理程序集合中。将handledEventsToo指定为true时,即使该事件在其他地方处理
所提供的处理程序中调用如果我理解正确的话这应该使该事件发生,甚至尽管InkCanvas第一处理它。
我也尝试将此代码放在InkCanvas父项上,结果相同。
那么,如何在不禁用InkCanvas的情况下获取鼠标位置?
这工作非常好。一个简单的问题,但我发现我也可以使用'MyInkCanvas.InkPresenter.StrokeInput.StrokeContinued + = StrokeInput_StrokeContinued',这对我来说是一样的。你知道这两者之间有什么特别的区别,应该让我的案例比另一个更好吗? – FewWords
是的,你是对的,我已经更新了答案。 –