【问题标题】:Move focus on GridView item one by one将焦点一一移动到 GridView 项目上
【发布时间】:2019-10-12 18:22:53
【问题描述】:

我正在为 PC 和 Xbox 设计应用程序。现在面临一个棘手的问题。

我有一个 GridView,它启用了一行。所以焦点可以向左/向右移动。我已经计算了 item 的宽度,所以在用户可视区域中,总是有 4 个 item 可见。

在我的电脑上,当焦点向左/向右移动时,它看起来和预期的一样好。 但是在我的 xbox 上,当向右移动项目时,项目总是显示一个部分。

更清楚的是,这里有两个视频。

Pc

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;

【问题讨论】:

  • 嗨@Vincent,你如何在PC平台上关注GridView项目next by next?
  • 嗨,尼科。我使用 case VirtualKey.Right(键盘左/右)来移动焦点。
  • 您可以尝试在pc平台内连接xbox游戏手柄并用游戏手柄右键移动下一个,您还可以看到下一个带有动画的部分。我认为这是设计使然。
  • 不,我将 Xbox 控制器连接到我的电脑,然后左右移动焦点,一切正常,就像我使用键盘一样。因此,无论我使用什么输入设备,在 pc 平台上运行时似乎都是正确的。看我的视频:drive.google.com/file/d/1vaNfdd-4hWjSOfjiCZ3kmB9rzxLHyC1Z/…
  • 所以这个问题只出现在xbox平台。您是否在 xbox 中调试并检查是否按下了正确的VirtualKey

标签: uwp uwp-xaml xbox xbox-one


【解决方案1】:

我检查了你的视频记录,如果你想让XboxGridView显示和电脑一样,你需要手动关闭过扫描边框。

Xbox 设置> 显示和声音> 视频输出,在“高级”下选择“视频保真度和过扫描”你会看到一个选项,上面写着“Apps can add边框",如果关闭则关闭。

很遗憾,我们没有提供 api 可以在以编程方式关闭时关闭。请随时将其发布到UserVoice。您也可以为我们分享代码示例,我们将检查是否有其他解决方法。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多