DragEnter事件问题

本文关键字:问题 事件 DragEnter | 更新日期: 2023-09-27 18:09:55

我只是在WPF ListBox上拖放ZIP文件。

之后,我面对的是ZIP文件是打开。为什么?我根本没要求打开它。

这是我的代码。

private void lbPackageList_DragEnter(object sender, DragEventArgs e)
{
    bool isCorrect = true;
    if (e.Data.GetDataPresent(DataFormats.FileDrop, true) == true)
    {
        string[] filenames = (string[])e.Data.GetData(DataFormats.FileDrop, true);
        foreach (string filename in filenames)
        {
            if (File.Exists(filename) == false)
            {
               isCorrect = false;
               break;
             }
            FileInfo info = new FileInfo(filename);
           if (info.Extension == ".zip") // It's correct
           {
              // OK  
           }
           else
           {
               isCorrect = false;
               break;
           }
     }
   }
   if (isCorrect == true)
        e.Effects = DragDropEffects.All;
   else
         e.Effects = DragDropEffects.None;
            e.Handled = true;
}

有什么线索吗?我们怎样才能阻止它呢?

DragEnter事件问题

WOW

我找到了答案

应该是这样的

string[] filenames = (string[])e.Data.GetData(DataFormats.FileDrop, false);