我正在使用 WPF 和 c#(使用 Visual Studio 2013),我想开发一个具有透明背景和网络浏览器的应用程序。我知道这是默认网络浏览器的问题......但我想找到另一个解决方案。我发现了其他 webbrowser 组件,例如基于 chromium 的 CefSharp。我想知道是否可以使用 CefSharp 浏览器使用透明背景,我希望有人逐步向我解释如何实现一个非常简单的网络浏览器(我找到了一些文章,但我无法实现一个工作应用)。如果您认为还有其他更好的组件,请向我推荐并解释如何使它们工作。感谢您的关注和回复。
问问题
3355 次
1 回答
1
这只是一个快速的概念验证,基于CefSharp.Wpf.Example
看看它是否可行。根据您的需要,我认为可以使(某些)网页透明。
在下图中,您可以CefSharp.Wpf.Example
在 Visual Studio 的顶部看到。左下角前面还有一个来自 CefSharp 的部分 DevTools 窗口。
这是我所做的(参考下图):
- 添加
WindowState="Normal" Opacity=".75" AllowsTransparency="True" WindowStyle="None" MinHeight="400" MinWidth="600"
到<Window>
元素MainWindow.Xaml
- 当浏览器初始化为其
ShowDevTools()
方法时,在某处添加调用。 - 然后我使用 DevTools 在
<body>
加载的页面上将 s 背景 alpha 设置为零。
根据您的需要,您必须自己试验 WPF 不透明度值。此外,根据您需要显示的网页,删除不同元素上的实际背景颜色可能需要一些调整。从上面的示例可以看出,它只需要设置一个值即可删除 Google 搜索页面上的白色背景。您可以使用ExecuteJavascriptAsync()
CefSharp FAQ wiki 页面中提到的方法在您导航到的页面中注入 JavaScript。
于 2014-11-22T13:15:48.657 回答