我已经在XBOX上尝试了我的UWP应用程序,该应用程序是使用xamarin.forms构建的,通常工作正常,但默认情况下鼠标模式处于活动状态。我使用
进行了更改 RequiresPointerMode = Windows.UI.Xaml.ApplicationRequiresPointerMode.WhenRequested;
在app.xaml.cs的UWP级别上,它禁用了鼠标指针,但是问题是使用游戏手柄,我无法在UI上选择项目。我可以浏览文本框和按钮,但不能浏览工具栏(uwp中的命令栏),ListView,Masterdetail,选项卡等。
我创建了一个空白的本机UWP应用程序,并添加了带有AppBarButtons的命令栏和带有NavigationViewItems的NavigationView。完全可以正常工作,我可以使用鼠标垫在菜单项和命令列之间导航。
为什么这不适用于Xamarin.Forms? xamarin.forms实际上不是UWP的本机吗?
答案 0 :(得分:1)
Xamarin.Forms MasterDetailPage
是在NavigationView
存在之前编写的,它根本不使用它(尤其是不使用NavigationViewItems
,这会限制灵活性,我不认为它会被使用)。
由于SplitView
有一些焦点错误,我可以肯定它与XBox不能按预期工作并不奇怪。但是,当您使用本机控件禁用鼠标模式时,UWP并不授予该应用程序正常运行的功能,这就是默认情况下启用该功能的原因。如果应用无法正常运行,则必须设置诸如XYFocusLeft
之类的属性。您可能需要制作自定义渲染器以显示这些属性并正确设置它们。要做的工作很多,但是要由您决定...