【发布时间】:2021-12-30 06:53:13
【问题描述】:
如何在 MAUI 平台上获得 MacCatalyst 和 windows 鼠标滚轮交互的通知。
【问题讨论】:
标签: macos desktop-application maui
如何在 MAUI 平台上获得 MacCatalyst 和 windows 鼠标滚轮交互的通知。
【问题讨论】:
标签: macos desktop-application maui
答案 1:滚动。
你想基于鼠标滚轮交互做什么?如果您只是想滚动,或者知道何时发生了滚动,那么您可以依赖 ScrollView 和其他自行处理滚动的视图。例如。 ScrollView.Scrolled event.
答案2:鼠标滚轮的一般用途。
鼠标或键盘的输入功能尚未在 MAUI 中实现。也没有最终确定规范。
您可以对该提案添加评论,要求包括鼠标滚轮支持。
但是,这可能不在 MAUI 的第一个版本中,因为当前的重点是稳定所有平台(包括移动)所需的功能,其中一些平台没有鼠标。
如果有人想知道“这不应该在 .net 6 中指定吗?” (然后 MAUI 会简单地使用它。)
在显示器(视图或窗口)上发生的事情与应如何处理鼠标/键盘输入之间存在交互 - 将输入放在与屏幕显示相同的代码库中是有意义的 - 因此 MAUI 是一个好地方。
特别是考虑到触摸是 MAUI 的一部分。
在此之前,解决方案是在每个平台上创建一个DependencyService,以引用您需要的平台API。
令人惊讶的是,我没有找到任何人为 Windows 和 Mac 上的鼠标做过的。
除了“隐式”之外,因为鼠标的使用类似于触摸设备。并且可以在键盘上键入文本。关键是没有特定于功能的 API,只有在您拥有物理鼠标(滚轮)或物理键盘(全局键盘挂钩)时才有意义。
待定我会进一步调查。
基本方法是查看 WinUI 3 使用什么作为输入 API。
在 Windows 桌面应用程序上,转发到这些输入 API。在其他平台(Mac、Linux)上编写适配器。
我会看看 Uno Platform 或 Avalonia 是否采用了这种方法。
【讨论】: