c# – ListBox Shift-Click多选锚点未正确设置
我正在努力解决这个问题.我在
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 您可以选择项目2和3,而是选择所有项目(1,2和3). 所有ListBox属性都具有正确的值(即使用箭头键更新SelectedItems属性),我唯一的问题似乎是ListBox如何在内部处理Shift-Click选择.据我所知,我认为这与ListBox的“多选锚点”有关,它是通过鼠标点击设置的,而不是用箭头键设置的. 以前有没有遇到过这个问题?有没有办法手动设置“多选锚点”?谢谢你的帮助! 克里斯 解决方法
我已经找到了解决这个问题的方法:
要解决此问题,必须在更改SelectedIndex后将Focus设置为项目: if (SelectedIndex > 0) { SelectedIndex--; ListBoxItem item = ItemContainerGenerator.ContainerFromIndex(SelectedIndex) as ListBoxItem; item.Focus(); } 这是您在列表中向下移动选择的方法.但是,您需要将焦点设置为项目以进行移位单击选择,以将该项目识别为锚点. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Cocos2d-x3.2实现虚拟摇杆多点触摸
- ruby-on-rails – sidekiq中的ActiveRecord :: B
- 可以将名为Tuple的C#用作MVC页面模型类型吗?
- 需要帮助从SQLite数据库中读取Android版
- SQLite使用手记(转自:http://blog.bossma.cn/d
- C++用mysql自带的头文件连接数据库
- ruby-on-rails – 在新窗口中打开rails.vim相关文
- vue轮播图插件vue-concise-slider的使用
- 超时::在ruby中使用selenium-webdriver时出错
- 如何利用Swift(beta)阵列击败NSMutableArray性能