【问题标题】:WPF WebBrowser and CSS3 linear-gradient is it possible?WPF WebBrowser 和 CSS3 线性渐变是否可能?
【发布时间】:2016-03-28 16:01:58
【问题描述】:

尝试在css中使用background: linear-gradient(red, yellow);作为WebBrowser控件但不起作用,是否可以在该控件中实现html元素的渐变效果?

PS 我需要为使用 NavigateToString 传递到控件的 html 执行此操作

【问题讨论】:

  • 似乎没有可靠的方法可以做到这一点。唯一的解决方法

标签: c# css wpf webbrowser-control gradient


【解决方案1】:

WebBrowser 控件只是 IE 的一个包装器。如果 IE 支持,那么 WebBrowser 控件也支持。

但是,在控件内运行的 IE 版本取决于注册表设置。您可以通过编辑注册表来强制 WebBrowser 使用某个版本。以下将强制控件使用 IE 9

HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
   SOFTWARE
      Microsoft
         Internet Explorer
            Main
               FeatureControl
                  FEATURE_BROWSER_EMULATION
                     yourexename.exe = (DWORD) 00009000

不同 IE 版本的值以及更多关于 WebBrowser 控件模拟模式的信息可以在这里找到:

http://msdn.microsoft.com/en-us/library/ie/ee330730%28v=vs.85%29.aspx

此外,渐变是浏览器之间差异很大的东西之一,我相信 IE 6-9 的渐变语法是

filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='red', endColorstr='yellow',GradientType=0 );

【讨论】:

  • 这是一个糟糕的选择,因为应用程序在客户的 PC 上运行。目前我发现的最佳解决方法是将带有渐变的线条存储为图片,并将其用作 html 中的背景。
【解决方案2】:

至少在 .net framework 4.5.2 中,如果没有任何 hack 是不可能做到这一点的,所以我无法在 WPF 桌面应用程序的生产环境中做到这一点

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-28
    • 1970-01-01
    • 1970-01-01
    • 2018-01-04
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多