首页 > 解决方案 > Xamarin.Forms UWP 应用程序不能在 XBOX 上作为本机工作

问题描述

我已经在使用 xamarin.forms 构建的 XBOX 上尝试了我的 UWP 应用程序,它通常工作正常,但默认情况下鼠标模式处于活动状态。我改变了它使用

    RequiresPointerMode = Windows.UI.Xaml.ApplicationRequiresPointerMode.WhenRequested;

在 app.xaml.cs 中的 UWP 级别上,它禁用了鼠标指针,但问题是使用游戏手柄,我无法在 UI 上选择项目。我可以浏览文本框和按钮,但不能浏览工具栏(uwp 中的命令栏)、ListView、Masterdetail、Tabs 等。

我创建了一个空白的原生 UWP 应用程序,并添加了一个带有 AppBarButtons 的命令栏和带有 NavigationViewItems 的 NavigationView。它完美地工作,我能够使用鼠标垫在菜单项和commanbaritems之间导航。

为什么这不适用于 Xamarin.Forms?xamarin.forms 实际上不是 UWP 原生的吗?

标签: xamarinxamarin.formsuwpxbox

解决方案


Xamarin.FormsMasterDetailPage是在存在之前编写的NavigationView,它根本不使用它(尤其是不使用它NavigationViewItems,这会限制灵活性,我认为它永远不会被使用)。

正如SplitView我可以确认的一些焦点错误一样,它不能按预期与 XBox 一起使用并不令人惊讶。但是,当您使用本机控件禁用鼠标模式时,UWP 不会授予应用程序正常工作的权利,这就是默认启用它的原因。XYFocusLeft如果应用程序无法正常运行,则必须设置类似的属性。您可能需要制作自定义渲染器来公开这些属性并正确设置它们。这是相当多的工作要做,但由你决定......


推荐阅读