首先,在XAML中为TextBox添加以下属性:AllowDrop="True"
。这将启用TextBox的拖放功能。
public MainWindow()
{InitializeComponent();textBox.AllowDrop = true;textBox.PreviewDragOver += TextBox_PreviewDragOver;textBox.PreviewDrop += TextBox_PreviewDrop;textBox.PreviewDragEnter += TextBox_PreviewDragEnter;
}
private void TextBox_PreviewDragOver(object sender, DragEventArgs e)
{if (e.Data.GetDataPresent(DataFormats.FileDrop)){e.Effects = DragDropEffects.Copy;}else{e.Effects = DragDropEffects.None;}e.Handled = true;
}private void TextBox_PreviewDrop(object sender, DragEventArgs e)
{if (e.Data.GetDataPresent(DataFormats.FileDrop)){string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);if (files != null && files.Length > 0){textBox.Text = files[0];}}
}private void TextBox_PreviewDragEnter(object sender, DragEventArgs e)
{e.Effects = DragDropEffects.Copy;e.Handled = true;
}