在WPF ListView中拖放

时间:2013-03-18 22:01:04

标签: c# wpf listview drag-and-drop

我正在使用WPF ListView,其中SelectionMode设置为Extended(您只能在按下ctrl的情况下选择多个项目)。我需要在两个ListView之间实现D& D.为了执行拖动事件,我在WinForms中使用了DragItem事件,但是在wpf中没有提供这样的事件。我决定使用ListViewItem PreviewMouseDownClick

private void ListViewItemMouseDownClick(object sender, MouseButtonEventArgs e)
{
    if (!this.AllowDragDrop)
    {
        return;
    }

    DragDrop.DoDragDrop(
        ListViewItemsCollection, this.SelectedItems, DragDropEffects.Copy | DragDropEffects.Move);
}

不幸的是,这样的解决方案有一个错误:选择单个项目(没有按下ctrl)有效。但是,我需要在按下ctrl的同时双击选择项目以选择多个项目。使用ListView的PreviewMouseDown或ListViewItem的PreviewMouseDown没有区别。任何想法如何解决问题?

1 个答案:

答案 0 :(得分:-1)

找到解决方案,就像一个chram: social.msdn.microsoft.com。 我加入了moncadad链接的代码。谢谢!