我正在使用 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 没有区别。任何想法如何解决问题?