MoveFocus从一个列表框移动到另一个列表框

我有类似Windows 8开始菜单的输出。

这是我输出的屏幕截图:

在此处输入图像描述

我通过从这个问题获得帮助成功地获得了输出。

XAML用于实现以下输出:

                                                             

因此,从上面的代码中你可能已经理解Group和Ledger是listbox1的两个项目。 和其他四个是listbox2的项目。

要求:

假设,在listboxA中选择了ItemA1。

案例1:新行为

如果ListBoxA在Item1的右侧没有任何项目,那么当我按向右箭头键时,焦点应该移动到listboxB的ItemB1。 同样,如果选择了listboxA的ItemA2,则焦点应该移动到ListBoxB的ItemB2。

案例2:默认行为

如果ListBoxA在ItemA1的右侧有一些项目,则应通过按右箭头键选择该项目。 我默认有这种行为,但我不想打扰它。 我的意思是在实现Case1时我不想放弃默认行为。

您当前的xaml代码在这里工作正常..请参阅此链接以获取KeyBoardNavigation Keyboardnavigation

您只需要添加KeyboardNavigation.DirectionalNavigation =“Continue” KeyboardNavigation.TabNavigation =“继续”到列表框,它按预期工作。

   ...  ..  

将焦点从一个ListBox移动到各个项目中的另一个ListBox需要很难的逻辑。 相反,您可以使用单个ListBox和基于标题的分组。 GroupStyle面板可以更改为水平方向的stackpanel,以实现您的UI。 我试过这样,焦点按预期工作,