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

时间:2013-05-13 20:11:39

标签: wpf listview drag-and-drop

我很难解决我的问题,我真的很生气。

这是个想法:我有两个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();
    }

此时我需要发生一些事情,之后我会看到添加所有必要的检查,为对话提供数据以及添加装饰。

如果有人能够尽可能多地解释拖拽的方式,我会非常感激,但在这一点上,我真的需要这个来点火。

2 个答案:

答案 0 :(得分:5)

将我的评论转换为答案:

你应该试试Gong WPF Drag And Drop Framework。我帮助以一种非常干净和漂亮(MVVM)的方式做这些事情。

答案 1 :(得分:0)

我回答了一个类似的问题,我有一个示例项目演示,可以在任意两个控件之间拖放。

只需参考答案here即可使用该控件。