在我的列表视图中拖放多个事件

本文关键字:事件 拖放 我的 列表 视图 | 更新日期: 2023-09-27 18:31:10

我有一个简单的WPF应用程序与ListView.

我添加了通过Drag将文件添加到ListView中的选项:

ListView lv;
private void lv_Drop(object sender, DragEventArgs e)
{
    e.Effects = DragDropEffects.All;
}
private void lv_DragEnter(object sender, DragEventArgs e)
{
    try
    {
        string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
        FileAttributes attr = File.GetAttributes(files[0]);
        AddFiles(files);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message, "Error");
    }
}
private void AddFiles(string[] files)
{
   // Add the files into my `ListView`.
}

问题是,将一个文件Drag到我的ListView中后,会多次触发事件,因此相同的文件多次添加到列表中。这种行为会发生什么?

在我的列表视图中拖放多个事件

不应使用 DragEnter 事件。此事件"将对象拖入控件边界时发生。看这里。

您正在寻找的是可以在此处找到的DragDrop-Event。