使WPF控制Web浏览器
我有一个WPF应用程序,我有一个嵌入式Web浏览器控件。 我想在特定时间通过Web浏览器显示动画,但问题是WPF控件在保持在Web浏览器上时是不可见的。
有没有办法让我的用户控制Web浏览器?
请先回答我,
此Web浏览器是否控制WinFormHost
托管的WPF Web Browser
控件或WinFormHost
webbrowser控件?
对于任何WPF控件来显示它上面的动画,你是否探索过……
- 将控件放在
Grid
或Canvas
,然后将拉伸的Border
(其中包含运行的动画)放置为grid / canvas的最后一个子节点? -
Adorner
不断改变绘图环境来模拟动画? - 带有动画的透明
Popup
,其静态放置是否完成(绑定到控件的绝对左侧,顶部位置和实际高度和宽度属性)在控件上?
尝试使用透明弹出窗口进行Web浏览器控制…
其中一个肯定会适用于您的情况。
不幸的是,由于操作系统呈现WinForms和WPF内容的顺序,WPF Webbrowser Control(基本上是一个包装的WinForms WebBrowser控件)是不可能的。
另请参阅: 有没有办法在wpf WebBrowser控件之上呈现WPF控件?
有一个第三方应用程序Awsomium应该使它成为可能。
编辑:另一种可能性是在WebBrowser控件上方渲染无框窗口。 但是将它保持在正确的位置/ z顺序是有点棘手的。
CefSharp提供基于Chromium / V8的纯WPF浏览器控件,不受Microsoft WebBrowser控件的空域问题的影响(免责声明:我是CefSharp的维护者)。