SelectionMode が Extended に設定されている WPF ListView を使用しています (ctrl を押した状態でのみ複数の項目を選択できます)。2 つの 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 を使用する場合に違いはありません。問題を解決する方法はありますか?