WPF ListView键盘导航问题

2023-12-27

我有一个像这样的列表视图

列表显示:
————————

  • Mango
  • Orange
  • Grapes
  • Grapes
  • Grapes
  • Apple
  • 草莓

每当我使用向下箭头导航时,蓝色突出显示会在第一个葡萄处暂停,虚线矩形从第二个葡萄开始并在第三个葡萄处暂停,然后蓝色突出显示从苹果恢复。这看起来很奇怪,当导航向上时,它会变得更奇怪。它从苹果跳到橙子或芒果。

这是由于虚拟化吗?
似乎只有重复的数据(葡萄)造成了问题。有帮助吗?


虚线矩形是您的键盘焦点。蓝色矩形是您的选择。

当您向下移动键盘时,焦点会跟踪您所在的位置。然而,该选择会跟踪选择了哪个项目。当同一项目多次出现在列表中时,选择矩形只能显示在其中一项上。

为了使这项工作按照您期望的方式工作,请将您的项目包装在 ObservableCollection 中。所以而不是:

coll.Add(fruit);

你会写

coll.Add(new FruitWrapper(fruit));

In your ListBox your ItemTemplate可以包括一个ContentPresenter将水果呈现在包装纸内(例如。<ContentPresenter Content="{Binding Fruit}" />).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WPF ListView键盘导航问题 的相关文章

随机推荐