【问题标题】:WPF Drag and Drop Text File into applicationWPF 将文本文件拖放到应用程序中
【发布时间】:2025-12-22 15:15:11
【问题描述】:

我正在尝试将文本文件拖到我的 C# WPF 应用程序中以捕获文件位置。 到目前为止我尝试过的事情如下:

  1. 将 AllowDrop 属性设置为 true
  2. 添加 DragEnter、DragOver 和 Drop 事件 - 它们都不会触发 - 我得到的都是 是一个黑色圆圈,有一条线穿过它,我认为这意味着不可用。
  3. 在应用清单中添加了以下内容 level="requireAdministrator" uiAccess="false" />

我已使用 OpenFileDialog 方法作为替代方法,但同时拥有这两个选项会很好。

【问题讨论】:

  • 你能显示一些代码吗?并且您只想删除文件名但放入什么??

标签: c# wpf


【解决方案1】:

您可以处理PreviewDragOverDrop 事件。下面是 WPF TextBox 的示例,您可以在其上从文件资源管理器中拖放文件。第一个放置文件的路径会出现在TextBox中。

private void TextBox_Drop(object sender, DragEventArgs e)
{
    if (e.Data.GetDataPresent(DataFormats.FileDrop))
    {
        string[] files = e.Data.GetData(DataFormats.FileDrop) as string[];
        if (files != null && files.Length > 0)
        {
            ((TextBox)sender).Text = files[0];
        }
    }
}

private void TextBox_PreviewDragOver(object sender, DragEventArgs e)
{
    e.Handled = true;
}

XAML:

<TextBox AllowDrop="True" PreviewDragOver="TextBox_PreviewDragOver" Drop="TextBox_Drop" />

【讨论】:

    最近更新 更多