我正在使用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
是的,你是對的,我已經更新了答案。 –