UWP Xbox使用WebView时的页面导航

时间:2017-01-05 09:23:43

标签: c# webview uwp xbox-one

通常在Xbox上运行UWP应用程序时,控制器上的B按钮会自动处理,并返回上一页。

我有一个包含WebView的页面,当您使用方向按钮将焦点框放在该控件周围时,B按钮不再响应。您可以使用A按钮控制WebView并显示指针,B按钮然后将如上所述返回焦点但我无法使用B按钮向后导航,直到您将焦点框移动到其他控件。使用AdControl也会发生这种情况,因为它使用WebView。

我试图捕获KeyDown:

Window.Current.CoreWindow.KeyDown += CoreWindow_KeyDown;

private void CoreWindow_KeyDown(Windows.UI.Core.CoreWindow sender, Windows.UI.Core.KeyEventArgs args)
{
    Debug.WriteLine(args.VirtualKey.ToString());
}

这可以用GamePadB,GamePadX等响应,但是当焦点框在WebView周围时不会响应。

无论如何,当焦点框在WebView(或AdControl)周围时,我可以找到何时按下GamePad按钮(特别是B)并且没有使用控件,所以我可以手动调用Backstack导航?

1 个答案:

答案 0 :(得分:0)

由于在为应用程序使用XY焦点模式时会出现此问题,如果您的操作系统版本为14393或更高,则此问题的一种解决方法是通过设置RequiresPointer =&#将鼠标模式用于包含webview的此页面34; WhenFocused"如下:

<Page RequiresPointer="WhenFocused">
...
</Page>

使用app.xaml.cs中的以下代码将另一页设置为XY焦点模式:

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

有关详细信息,请参阅以下文章:
https://msdn.microsoft.com/en-us/windows/uwp/input-and-devices/designing-for-tv#mouse-mode