天天看點

WPF中TextBox檔案拖放問題

原文: WPF中TextBox檔案拖放問題 在WPF中,當我們嘗試向TextBox中拖放檔案,進而擷取其路徑時,往往無法成功(拖放文字可以成功)。造成這種原因關鍵是WPF的TextBox對拖放事件處理機制的不同,具體可參考這篇文章 Textbox Drag/Drop in WPF

,本文隻是介紹如何解決這一問題。

解放方法如下:    

    1. 使用PreviewDragOver和PreviewDrop事件代替DragOver和Drop事件。

      <TextBox Height="100" PreviewDragOver="TextBox_PreviewDragOver" PreviewDrop="TextBox_PreviewDrop"/>

    2. 在PreviewDragOver事件中加入e.Handled = true操作。

      private

      void TextBox_PreviewDragOver(object sender, DragEventArgs e)

      {

          e.Effects = DragDropEffects.Copy;

          e.Handled = true;

      }