c# - 在 WPF ListView 中拖放

标签 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 时没有区别。有解决问题的想法吗?

最佳答案

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

关于c# - 在 WPF ListView 中拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15487774/

相关文章:

android - 通过滚动同步 2 个 ListView

android - 自定义 ListView 部分标题

c# - MsTest与Task.ContinueWith()和Task.Wait()...?

c# - ASP.NET Core 在页面上显示数据库中的所有行

c# - 如何用相同的重复事件重构两个类?

c# - wpf绑定(bind)命令到窗口的快捷方式

.net - 将二维集合绑定(bind)到某个控件

c# - C# 中三角函数的 Math.net 幂

.net - 在 ComboBox 中以不同方式显示所选项目

ios - ui-ListView 刷新单元格