我在我的智慧的尽头试图弄清楚这一点。我在 WPF 方面很有经验,但我从未见过这样的事情。
我有一个包含可选 ListBoxItems 的 ListBox。列表中的项目可以通过鼠标点击或使用向上/向下箭头来选择。我正在使用 SelectionMode.Extended,所以我的列表支持多选。
问题:单击列表中的一个项目,然后按住 Shift 的同时单击另一个项目,会像您期望的那样选择正确的项目范围。不幸的是,使用向上/向下箭头无法正常工作 - 相反,选择的范围似乎总是基于最后一个 CLICKED 项目,而不是使用箭头键选择的项目。
例如:
[Item 1] <- Click this item
[Item 2] <- Use the down arrow to select this item
[Item 3] <- Shift-Click this item
Run Code Online (Sandbox Code Playgroud)
您可能希望选择项目 2 和 3,而是选择所有项目(1、2 和 3)。
所有 ListBox 属性都有正确的值(即使用箭头键更新 SelectedItems 属性),我唯一的问题似乎是 ListBox 如何在内部处理 Shift-Click 选择。据我所知,我相信这与 ListBox 的“多选锚点”通过鼠标点击设置有关,但与箭头键无关。
有没有人遇到并解决过这个问题?有没有办法手动设置“多选锚点”?谢谢你的帮助!
克里斯