处理外部程序的wpf拖放

4 浏览
0 Comments

处理外部程序的wpf拖放

我正在尝试研究一个想法,其中一个重要的概念是放置程序、书签等。我已经大致了解了这个概念,但是我没有收到任何信息。

private void Border_Drop(object sender, DragEventArgs e)
{            
    FileInfo[] files = (FileInfo[])e.Data.GetData(DataFormats.FileDrop);
    foreach (FileInfo file in files)
    {
        Writer.Text += file.FullName;
    }
}

尽管我的文本块从未被填充?我想获取File的所有属性,如FullNameNameExtensionDirectoryName等。

关于接下来该做什么,你有什么建议吗?我一直在尝试阅读事件的MSDN文档,但没有任何结果,我还在stackoverflow上搜索,但没有适用于我的情况。

0
0 Comments

WPF中存在两种不同的路由事件处理机制:冒泡和隧道。冒泡是“正常”处理事件的方式,而隧道是在事件名称中看到所有那些PreviewThis和PreviewThat的情况。可能是因为另一个控件已经将事件标记为已处理,所以在事件处理程序中看不到它。

如果您需要WPF拖放的文档,请阅读此文档

如果您需要一些真正自定义的、非常底层的关于这个主题的内容,您还可以阅读关于对象链接和嵌入的内容。这可能是Word中实现拖放的方式,这样您就可以将图像和Excel表格拖放到Word文档中,并以原生方式显示。但是要使用这个功能,您可能需要使用一些Win32 API调用,这有点麻烦。

谢谢建议,我会研究一下。

0
0 Comments

问题的原因可能是将事件处理程序附加到错误的控件。尝试将事件处理程序附加到窗体,如果不起作用,可以尝试附加到文本块。

我还强烈建议进行一些调试。在事件处理程序中设置断点,看看是否被调用,如果是,看看其中发生了什么。

谢谢,我会添加断点的,作为一个前端Web开发人员,然后是后端,现在是软件,我经常忘记它们。

0