我想在外部控件上模拟我的代码中的drop事件。 我使用的Gecko浏览器连接到外部Web应用程序,这是我无法访问的代码。
我正在考虑两个解决方案,第一个是模拟提供文件路径的drop事件,但是我在下面做的不起作用:
GeckoNode dropbox = ContentFrame.GetContentDocument().GetElementsByClassName("filepicker dropzone dz-clickable").FirstOrDefault();
if (NodeType.Element == dropbox.NodeType)
{
DependencyObject fakeobject = Application.Current.Windows[0] as DependencyObject;
GeckoHtmlElement drop2 = dropbox as GeckoHtmlElement;
drop2.Focus();
DragDrop.DoDragDrop(fakeobject, path, DragDropEffects.Copy);
}
我可以将文件放入的元素,在鼠标单击时打开"打开文件对话框"。 第二个,可能更难的解决方案是以某种方式捕获对话框并将我的路径粘贴到其中。 或者也许有一种方法可以使我的代码仍然独立于出现的对话框运行并使用SendKeys或类似的东西?
提前感谢您的帮助! (两天的谷歌搜索并没有给我带来任何有用的结果..)
编辑: 由于没有答案,也许任何人都可以回答一个更简单的问题: 如何在WPF / WinForms中模拟drop事件?在使用DoDragDrop(或类似)接口之前有哪些步骤和声明?我试图将文件放在外部网站上的可放置控件(用C#代码模拟)中。 谢谢!