多选树视图,支持在WPF中拖动多个项目

时间:2012-09-18 02:32:06

标签: wpf treeview wpf-controls multi-select

我正在寻找可能的解决方案几个小时,但找不到任何解决方案。 希望有人可以帮助我。

我设法使用以下答案实现Multi Select WPF TreeView:https://stackoverflow.com/a/6681993/1679059

它运行良好,但我希望能够拖动选定的项目并将它们放入DataGrid。 在PreviewMouseMove事件处理程序中,以前选择的项目被取消选中,因此我无法阻止这种情况发生。

我试图阻止取消选择PreviewMouseLeftButtonDown事件处理程序中的项目,但此时我无法知道用户是否打算选择项目或拖动所选项目。

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:-2)

你可以通过添加一个bool变量来实现这一点,让我们在MouseLeftButton中将'isLeftClick'更改为'LeftClick'到'TRUE',在MouseMove事件中检查isLeftClick是真还是假,如果是真的话那么用户正在尝试拖动。 还要检查鼠标是否指向其中一个选定节点,如果它位于某个未选择的节点上,则拖动这些节点,然后选择该节点并拖动它。