原文地址:https://wpf.2000things.com/2012/12/10/708-dragging-a-file-into-a-wpf-application/
如果你的應用程序中允許將文件拖入,那麼就需要使用DataFormats.FileDrop 類型的數據。
在代碼中指定只允許FileDrop 類型的數據進入。
private void Window_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effects = DragDropEffects.Copy;
else
e.Effects = DragDropEffects.None;
e.Handled = true;
}
private void Window_DragOver(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effects = DragDropEffects.Copy;
else
e.Effects = DragDropEffects.None;
e.Handled = true;
}
當你在Drop 事件處理函數中調用GetData 函數的時候,你會獲得被拖入文件的文件名數組。下面是一個列子,在Label 上顯示拖入文件的文件名並且用TextBlock 顯示文件中的文本內容。
private void Window_Drop(object sender, DragEventArgs e)
{
string[] filenames = (string[])e.Data.GetData(DataFormats.FileDrop);
lblFilename.Content = filenames[0];
txtContent.Text = File.ReadAllText(filenames[0]);
}