【发布时间】:2019-06-20 04:17:29
【问题描述】:
我需要挂钩来自 HID 扫描仪(与物理键盘的工作方式相同)的事件,以在 Master-detail 应用程序上读取 Xamarin 表单中的条形码。我的页面上没有任何输入字段。我发现它在 Android 和 UWP 上运行良好,但在 iOS 上不起作用。
让我逐步解释一下,仅适用于 iOS,因为它不起作用。 (Android 和 UWP 听按键没有问题)
- 我有 Master detail 应用程序。我需要在详细信息页面上接收按键事件。
- 我的页面上没有任何输入字段。我不能输入输入字段 bcoz 这是我的要求。
- 因此决定在详细信息页面级别监听关键事件
- 为了挂钩按键事件,我在 iOS 的详细页面渲染器中使用 AddKeyCommand(..) 添加了按键命令
取自此链接:Is it possible to hook into Hardware keyboard events at an Application level?
- 我已经使用 VS 2017 中为 Xamarin 表单提供的向导创建了 Master-Detail 应用程序,并在“关于”页面中添加了上述代码 渲染器。但它不工作。 “KeyRecv”处理程序没有点击来自 HID 扫描仪的键
- 我已经尝试了与普通单页示例相同的代码。我再次使用 VS2017 向导来创建这个示例。 现在,我已经为 MainPage 创建了页面渲染器。令我惊讶的是,它可以在单页示例中使用。
- 所以问题是为什么不在主从页面中工作。
- 附加点。我没有在应用程序的任何地方设置焦点,既不是主详细信息也不是单页应用程序。
- OnElementChanged 在相应页面的调试过程中被调用。
- 这些是使用上述代码创建的纯向导应用程序。
那么,iOS 上 Xamarin 表单中的主从页面应用程序有什么问题? (记住这些适用于 Android 和 UWP)
【问题讨论】:
-
在这里查看renderers#pages 并尝试在 MasterdetailPageRender.(PhoneMasterDetailRenderer) 中添加您的代码
标签: c# xamarin.forms hid