我正在为PC和Xbox设计应用程序。现在面临一个棘手的问题。
我有一个GridView,它启用了一行。因此焦点可以左右移动。我已计算出商品的宽度,因此在用户可视区域中,始终有4个商品可见。
在我的电脑上,当焦点向左/向右移动时,看起来像预期的那样好。 但是在我的xbox上,将项目向右移动时,项目始终显示一部分。
更清楚的是,这是两个视频。
当我将焦点移至xbox时,请注意 ,下一项显示其中的一部分。
因此,如何禁用下一项显示了其中一部分,就像PC一样。当焦点对准它时,将显示该项目。当焦点不在焦点上时,不要显示它。
在PreviewKeyDown
事件中,我使用
case VirtualKey.Right:
case VirtualKey.GamepadDPadRight:
case VirtualKey.GamepadLeftThumbstickRight:
if (itemIndexInCurrentRiver + 1 <= currentRiver.Items.Count - 1)
{
currentRiver.Focus(FocusState.Programmatic);
GridViewItem item = new GridViewItem();
item = currentRiver.ContainerFromIndex(listIndexsInEachRiver[riverIndexInAllRivers]) as GridViewItem;
listIndexsInEachRiver[riverIndexInAllRivers] = itemIndexInCurrentRiver + 1;
item.Focus(FocusState.Programmatic);
item.IsSelected = true;
item.StartBringIntoView();
e.Handled = false;
}
else
e.Handled = true;
break;
答案 0 :(得分:0)
我检查了您的视频记录,如果要使Xbox GridView
与PC相同,则需要手动关闭过扫描边框。
Xbox设置>显示和声音>视频输出,在“ 高级”下,选择“ 视频保真度和过扫描”,您将看到一个选项,内容为“ 应用可以添加边框”,则将其关闭。
不幸的是,我们尚未提供如果以编程方式关闭api可能会关闭的功能。请随时将其发布在UserVoice上。您也可以为我们共享代码示例,我们将检查是否还有其他解决方法。