我有一个单选模式的 ListBox,其中包含一些项目。我实现了用户能够通过拖放重新排序项目。一切正常,但它看起来真的很难看,因为如果鼠标按钮按下并且光标在一个项目上移动,列表框会自动选择一个项目。
具体来说:为了在某些情况下禁用闪烁,我仅在将项目拖动到另一个项目的一半以上时才移动项目。当我开始将 item1 拖到 item2 上以将其放在 item2 后面时,我希望在拖动时选择 item1。发生的情况是,只要光标移到 item2 上, item2 就会被选中。我怎样才能摆脱这种行为?
我已经尝试在拖动项目时在 PreviewMouseMove 中设置 e.Handled = true ,但这无济于事。
如果您想查看代码,请访问:http: //pastebin.com/GTj96qV9。这是一种行为,它使任何将 IList 作为 DataSource 的列表框都可以通过拖动来重新排序其内容。