我的任务是在WPF应用中显示半透明元素的HTML内容。透明度应该通过Webbrowser和窗口进行。 Web浏览器本身不应该是半透明的。 所以我需要一个HTML内容,我需要通过它看到桌面。
有没有办法做那样的事情?
谢谢。
P.S。:对不起我的英语。
答案 0 :(得分:3)
Awesomium 和 Awesomium.NET 是支持此功能的HTML UI引擎。
检查WPF WebControl
。您可以将WebControl.IsTransparent
设置为true
,并使用body { background-color: transparent; }
加载一些内容(您甚至可以使用WebSession
指定要应用于所有已加载页面的自定义CSS)。
答案 1 :(得分:1)
目前无法做到这一点;这是由于Web浏览器控件的呈现方式。它不是真正的WPF控件,而是围绕COM组件的WPF包装器。这限制了可用的功能,并且还导致其他问题,例如缺乏将WPF控件浮动到其顶部的能力。
我相信Windows 8.1应用程序会有一个新的WebView控件(在Build 2013中演示)。这可能提供更大的灵活性,虽然我不确定这是否是Windows 8.1应用程序的事情,或者它是否也可以作为.NET 4.5.1的一部分用于WPF应用程序。
答案 2 :(得分:0)
WPF Web浏览器控件在技术上是一个包装的WinForms WebBrowser控件,因此它在WinForms层中呈现,该层始终位于WPF层之上。您可以使用Awesomium.NET浏览器而不是IE浏览器或转换您的{{ 3}}代码并显示在Html code to Xmal控件中。Flow Document