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