如何从WPF ListView启动拖放操作?
我没有找到如何从事件处理程序捕获待拖动的ListViewItem。 我试图订阅上面的隧道事件:
Private Sub MyListView_PreviewMouseLeftButtonDown(sender As System.Object, e As System.Windows.Input.MouseButtonEventArgs)
Dim lstview As ListView = CType(sender, ListView)
If lstview.SelectedItem IsNot Nothing Then
DragDrop.DoDragDrop(lstview, lstview.SelectedItem, DragDropEffects.Move)
End If
End Sub
...但正如预期的那样,在此处理此事件时尚未设置ListViewItem,并且始终没有。
处理ListView的MouseDown将无法工作,因为单击ListViewItem时不会触发。
如何抓住要拖动的ListView项? 它应该支持拖动多个ListViewItem。
答案 0 :(得分:1)
您可以从SelectionChanged
事件处理程序
Private Sub ListBox_SelectionChanged(sender As Object, e As SelectionChangedEventArgs)
Dim selectedItems As List(Of YourDataType) =
e.AddedItems.OfType(Of YourDataType)().ToList()
DragDrop.DoDragDrop( ... )
End Sub