使WPF控制Web浏览器

我有一个WPF应用程序,我有一个嵌入式Web浏览器控件。 我想在特定时间通过Web浏览器显示动画,但问题是WPF控件在保持在Web浏览器上时是不可见的。

有没有办法让我的用户控制Web浏览器?

请先回答我,

此Web浏览器是否控制WinFormHost托管的WPF Web Browser控件或WinFormHost webbrowser控件?

对于任何WPF控件来显示它上面的动画,你是否探索过……

  1. 将控件放在GridCanvas ,然后将拉伸的Border (其中包含运行的动画)放置为grid / canvas的最后一个子节点?
  2. Adorner不断改变绘图环境来模拟动画?
  3. 带有动画的透明Popup ,其静态放置是否完成(绑定到控件的绝对左侧,顶部位置和实际高度和宽度属性)在控件上?

尝试使用透明弹出窗口进行Web浏览器控制…

        

其中一个肯定会适用于您的情况。

不幸的是,由于操作系统呈现WinForms和WPF内容的顺序,WPF Webbrowser Control(基本上是一个包装的WinForms WebBrowser控件)是不可能的。

另请参阅: 有没有办法在wpf WebBrowser控件之上呈现WPF控件?

有一个第三方应用程序Awsomium应该使它成为可能。

编辑:另一种可能性是在WebBrowser控件上方渲染无框窗口。 但是将它保持在正确的位置/ z顺序是有点棘手的。

CefSharp提供基于Chromium / V8的纯WPF浏览器控件,不受Microsoft WebBrowser控件的空域问题的影响(免责声明:我是CefSharp的维护者)。