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。 我试过这样,焦点按预期工作,