WPF实现窗体接收外部鼠标点击拖拽的文件
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}");
}
}
实现效果