停止从WPF WebBrowser控件拖动

停止从WPF WebBrowser控件拖动,wpf,drag-and-drop,browser,webbrowser-control,Wpf,Drag And Drop,Browser,Webbrowser Control,我有一个WPF应用程序,它包含一个WebBrowser控件 目前,用户可以在WebBrowser中选择某些内容,并可以通过将其拖出到另一个应用程序并将其放到那里来复制内容 我希望能够阻止用户这样做。我假设会有一个“DragStart”事件,我可以捕获并取消它-但我还没有找到这么简单的事情 是否可以捕获拖动事件的开始并取消它? 有更好的方法实现这一点吗?您可以实现IDocHostUIHandler::FilterDataObject并过滤掉常见的剪贴板格式 在文档准备就绪之前,您无法访问WPF浏览

我有一个WPF应用程序,它包含一个
WebBrowser
控件

目前,用户可以在
WebBrowser
中选择某些内容,并可以通过将其拖出到另一个应用程序并将其放到那里来复制内容

我希望能够阻止用户这样做。我假设会有一个
“DragStart”
事件,我可以捕获并取消它-但我还没有找到这么简单的事情

是否可以捕获拖动事件的开始并取消它?

有更好的方法实现这一点吗?

您可以实现IDocHostUIHandler::FilterDataObject并过滤掉常见的剪贴板格式

在文档准备就绪之前,您无法访问WPF浏览器的本机界面。不确定它是否适用于WPF浏览器类。Windows窗体中还有一个bug,阻止您自定义IDocHostUIHandler的实现


您可以尝试webbrowser ActiveX的一些包装类,如

中描述的包装类,很抱歉没有尽快回复-优先级已更改,我忘记了这一点。。。我已经在WPF WebBrowser上实现了一个相当空的IDocHostUIHandler接口实现——我已经实现了ShowContextMenu()函数。但是,我不确定如何实现FilterDataObject()-我的尝试无效,被忽略。你能提供更多细节吗?检查。不过,它是用MFC编写的。不确定如何在托管代码中实现它。也许你可以编写一个本地C++函数,并通过p调用调用它?我通过确保IDoCuthStudioHtRe::GETDROPASTATION返回null来完成这一工作。然后,似乎没有调用FilterDataObject(),并且禁用了拖动。