gpt4 book ai didi

c# - WPF ListView 键盘导航问题

转载 作者:行者123 更新时间:2023-11-30 14:19:45 24 4
gpt4 key购买 nike

我有一个这样的 ListView

ListView :
————————

  • 芒果
  • 橙色
  • 葡萄
  • 葡萄
  • 葡萄
  • 苹果
  • 草莓

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

这是因为虚拟化吗?
似乎只有重复数据(葡萄)造成了问题。有什么帮助吗?

最佳答案

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

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

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

coll.Add(fruit);

你会写

coll.Add(new FruitWrapper(fruit));

在你的ListBox你的ItemTemplate可以包含单个 ContentPresenter在 wrapper 内呈现水果(例如 <ContentPresenter Content="{Binding Fruit}" /> )。

关于c# - WPF ListView 键盘导航问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2272103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com