#708 – 將文件拖入到WPF應用程序中(Dragging a File Into a WPF Application)

原文地址: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]);
}

708-001

708-002



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章