【发布时间】:2014-02-06 14:23:29
【问题描述】:
目标
如果列表视图中有 1 个或多个项目,并且用户在列表视图的空白处单击,则所选项目应保持选中状态。
换句话说,如果一个项目被选中,它应该保持选中状态,除非另一个项目被选中。
现状
我将 ListView HideSelection 的属性设置为 false,这将使选定的 ListViewItem 在控件失去焦点时保持选中状态。但是,当我单击 Listview 的空白时,这并不能解决问题。
有什么建议吗?
【问题讨论】:
-
那会有问题。如果您在 SelectedIndex changed 事件中强制进行选择,您最终可能会在 SingleSelect 模式下选择 2 个项目,因为该事件会触发两次。第一个 - 旧项目已取消选择,您的代码看不到任何选择,因此您手动选择一个,例如项目(0);第二 - 单击的项目触发事件以选择它,让您选择 2 个项目,这让用户感到困惑。此外,HideSelection 不会做任何事情来取消选择项目,它只是在 LV 没有焦点时为所选项目绘制选择提示。当它不在一个项目上时,尝试吃掉点击事件