2

我正在DragDrop为 WPF 实现一个框架(顺便说一下,你可以在这里找到)。

我有一个问题,当用户MouseDown在一个ItemsControl我们不立即知道他们是否打算单击该项目来选择它,或开始拖动。如果用户单击一个项目然后快速移动光标,则在我们确定拖动开始之前,可以选择除单击项目之外的另一个项目(特别是如果单击该项目会在短时间内冻结 UI 以加载数据等) .

我认为这个问题在 WinForms 中不存在,因为在按住按钮的情况下拖动鼠标不会导致另一个项目被选中 - 仅在发生单击的项目上进行了选择。

如果PreviewMouseDown我可以设置e.Handled属性以防止另一个项目被选中,如果用户确实打算开始拖动,这可以正常工作,但他们实际上无法选择该项目。

有谁知道如何处理这个?

4

1 回答 1

0

存储/使用他们最初按下鼠标的点,并使用它来解决要拖动的项目。

于 2009-11-08T09:31:53.877 回答