WPF实现窗体接收鼠标拖拽的文件例子
这个功能的逻辑,从窗口外部拖文件到窗口内部并自动捕获文件地址 然后然后对文件进行后续处理;
1.新建一个WPF 项目
2.后台添加文件监听代码
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); this.Loaded += MainWindow_Loaded; } private void MainWindow_Loaded(object sender, RoutedEventArgs e) { this.Drop += MainWindow_Drop;//接收拖拽的文件 this.DragEnter += MainWindow_DragEnter;//用来设置拖拽的文件效果 this.AllowDrop = true;//允许窗体Drop事件 注意默认是false(也就是不能进行拖文件进入操作) } private void MainWindow_DragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effects = DragDropEffects.Link; else e.Effects = DragDropEffects.None; } private void MainWindow_Drop(object sender, DragEventArgs e) { //拖拽的文件路径 string fileName = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString(); MessageBox.Show($"接收到文件 {fileName}"); } }
实现效果