如何在 Xamarin UWP 应用程序中实现 Pointer-/MouseMoveEvents?

How to implement Pointer-/MouseMoveEvents in Xamarin UWP app?

我有一个 Xamarin 应用程序。 (仅)对于 UWP 应用程序,我需要访问鼠标事件(PointerMoved-/PointerEntered/PointerPressed-Events)。

直到现在我的整个代码库都是共享代码。

有人可以帮我将鼠标事件转发到共享代码库吗?我在谷歌上搜索了很多,几乎所有的答案要么建议一个名为 "MR.Gestures" 的付费库,要么说不可能接收鼠标事件(比如这个 I am not able to implement MouseUp, MouseDown and mouseMove Events in Xamarin Mobile applications)。有时会提到 GestureRecogniser,但它们不可扩展,那么它们应该如何提供帮助?

xamarin 中真的没有办法接收鼠标事件吗?

你可以做到。然而,对于您可能考虑在本机 UWP XAML 中编写应用程序并与 Xamarin 项目共享一些 C# 代码的级别来说,这是一项非常广泛的工作。

方法是扩展您将要使用的每个控件(是的,每个需要此效果的控件),向其添加这些事件,然后编写将调用这些事件的 UWP 自定义渲染器,然后替换XAML 中的所有控件都包含这些控件。

如前所述,这可能会变成一项相当广泛的工作,但这就是它可以完成的方式。

此外,如果您不需要这些事件,而只需要对这些事件产生一些视觉效果,则可以通过为 app.xaml 中的这些控件编写自定义 XAML 样式来缩短这项工作在 UWP 项目中。