如何在WPF中实现两个列表之间的拖放?

3

我遇到了一个问题,正在努力解决,但是我已经快要疯了。

这是我的想法:我有两个ListView元素,当一个元素从第一个列表中拖到第二个列表时,我需要打开对话框,同时需要用拖动的元素和添加的元素填充对话框。

问题是,我甚至无法正确实现基本功能——即在拖放时打开对话框。

我将从头开始学习D&D技术,但我迫切需要一种方法来至少调用对话框。

写了一些代码并擦除后,我只剩下以下内容:

    private void lvListaRadnika_MouseDown(object sender, MouseButtonEventArgs e)
    {
        DragDrop.DoDragDrop(lvListaRadnika, presenter.Selected, DragDropEffects.None);
    }

    private void ListView_Drop(object sender, DragEventArgs e)
    {
        DodavanjeRezervacije dr = new DodavanjeRezervacije(new DodavanjeRezervacijePresenter(null,true));
        dr.Show();
    }

在这一点上,我需要发生某些事情,之后再考虑添加所有必要的检查,将对话框与数据一起提供以及添加装饰器。
如果有人可以在此过程中尽可能多地解释拖放,我会非常感激,但在这一点上,我只需要它启动。

1
你真的应该尝试一下Gong WPF拖放框架。它以一种非常干净和漂亮(MVVM)的方式帮助完成这些任务。 - Federico Berasategui
谢谢,那个插件确实让我轻松地实现了我想要的功能。 - NLuburić
2个回答

5

将我的评论转化为回答:

你应该真的尝试一下Gong WPF Drag And Drop Framework。它以一种非常干净和美好(MVVM)的方式帮助完成这些事情。


我认为链接已经失效。 - Uentee

1

我曾回答过类似的问题,其中有一个示例项目演示了在任意两个控件之间进行拖放。

只需参考这里的答案,您就可以使用该控件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接