【C#】【WPF】テキストボックスにファイルパス/フォルダパスをドラッグ&ドロップできるようにする

前提

テキストボックスコントロールの名前は「TextBox_1」とする

手順

テキストボックスコントロールに以下のイベントを定義する
・PreviewDragOver
・Drop

サンプルプログラム

private void TextBox_1_Drop(object sender, DragEventArgs e)
{
    var dropFiles = e.Data.GetData(System.Windows.DataFormats.FileDrop) as string[];
    if (dropFiles == null) return;
    TextBox_1.Text = dropFiles[0];
}

private void TextBox_1_PreviewDragOver(object sender, DragEventArgs e)
{
    if (e.Data.GetDataPresent(System.Windows.DataFormats.FileDrop, true))
    {
        e.Effects = System.Windows.DragDropEffects.Copy;
    }
    else
    {
        e.Effects = System.Windows.DragDropEffects.None;
    }
    e.Handled = true;
}
タイトルとURLをコピーしました