我正在寻找可能的解决方案几个小时,但找不到任何解决方案。 希望有人可以帮助我。
我设法使用以下答案实现Multi Select WPF TreeView:https://stackoverflow.com/a/6681993/1679059
它运行良好,但我希望能够拖动选定的项目并将它们放入DataGrid。
在PreviewMouseMove
事件处理程序中,以前选择的项目被取消选中,因此我无法阻止这种情况发生。
我试图阻止取消选择PreviewMouseLeftButtonDown
事件处理程序中的项目,但此时我无法知道用户是否打算选择项目或拖动所选项目。
有人可以帮我解决这个问题吗?
答案 0 :(得分:-2)
你可以通过添加一个bool变量来实现这一点,让我们在MouseLeftButton中将'isLeftClick'更改为'LeftClick'到'TRUE',在MouseMove事件中检查isLeftClick是真还是假,如果是真的话那么用户正在尝试拖动。 还要检查鼠标是否指向其中一个选定节点,如果它位于某个未选择的节点上,则拖动这些节点,然后选择该节点并拖动它。