我正在DragDrop
为 WPF 实现一个框架(顺便说一下,你可以在这里找到)。
我有一个问题,当用户MouseDown
在一个ItemsControl
我们不立即知道他们是否打算单击该项目来选择它,或开始拖动。如果用户单击一个项目然后快速移动光标,则在我们确定拖动开始之前,可以选择除单击项目之外的另一个项目(特别是如果单击该项目会在短时间内冻结 UI 以加载数据等) .
我认为这个问题在 WinForms 中不存在,因为在按住按钮的情况下拖动鼠标不会导致另一个项目被选中 - 仅在发生单击的项目上进行了选择。
如果PreviewMouseDown
我可以设置e.Handled
属性以防止另一个项目被选中,如果用户确实打算开始拖动,这可以正常工作,但他们实际上无法选择该项目。
有谁知道如何处理这个?