0

我有一个带有显示标准网站的 WebBrowser 的 WPF 应用程序。我可以使用此处描述的方法调用 javascript 函数。

到目前为止,我可以将不同类型的 WPF 控件拖到 WebBrowser 中,在 JavaScript 中处理 drop 事件。这就是我卡住的地方。

处理放置事件时,我似乎无法找到我正在拖动的控件/对象在哪里。甚至可以在放置期间将 C# 对象转换为基于 Web 的对象吗?

此外,我尝试在 WPF 中处理 drop,然后在 WebBrowser 中调用一个函数,但还没有找到一种方法来处理 drop 而不捕获 click 事件,这是我不想要的。

任何帮助将不胜感激。谢谢!

4

1 回答 1

1

一种解决方案可能是将字符串标记放在拖动信息中,然后在 JavaScript 中检索此标记,然后从 c# 调用函数以获取更多信息或执行您需要执行的操作以响应放置事件。c#代码中启动拖动事件事件

   DataObject dataObject= new DataObject();
   dataObject.SetText("__myAppDragFlag__stringToken");
   DragDrop.DoDragDrop(this, dataObject, DragDropEffects.Copy);

JavaScript 删除处理程序

onDrop = function (eArg) {
var dropInfo=eArg.dataTransfer.getData("text");
//if dropInfo starts with '__myAppDragFlag__' this drop coming from your c# application then your token //is stringToken
//
}
于 2013-12-10T15:16:28.430 回答