Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF Web浏览器替代方案_C#_.net_Wpf_Chromium Embedded - Fatal编程技术网

C# WPF Web浏览器替代方案

C# WPF Web浏览器替代方案,c#,.net,wpf,chromium-embedded,C#,.net,Wpf,Chromium Embedded,我有一个WPF应用程序,它使用了webBrowser控件,并在内部使用IE7,当我尝试添加任何javascript库时,它会变得很痛苦,因为IE7不支持新功能 我试图通过使用更改浏览器渲染模式 <meta http-equiv="X-UA-Compatible" content="IE=11" /> 但它不仅打破了设计,而且在IE11中与windows应用程序中的WPFWebBrowser控件中看起来也不一样 我无法使用,因为许多用户没有更新注册表的权限,并且我无法联系到所有用

我有一个WPF应用程序,它使用了
webBrowser
控件,并在内部使用
IE7
,当我尝试添加任何javascript库时,它会变得很痛苦,因为
IE7
不支持新功能

我试图通过使用更改浏览器渲染模式

<meta http-equiv="X-UA-Compatible" content="IE=11" />

但它不仅打破了设计,而且在
IE11
中与windows应用程序中的
WPF
WebBrowser
控件中看起来也不一样

我无法使用,因为许多用户没有更新注册表的权限,并且我无法联系到所有用户来修复它

我试图找到任何替代品来替换内置的
WebBrowser
控件,但他们不允许使用
IE
,而是坚持使用
Chromium
。并非所有我的用户都有
cromium
,但
IE11
在他们所有的计算机中都很常见


因此,真正的问题是,是否有任何浏览器控件将取代现有的
WPF WebBrowser
控件并使用更高版本的
IE
?或者是否有其他解决方案使现有的
WebBrowser
控件与我选择的版本一起使用
IE
?可能是IE9+

尝试使用WindowsFormsHost

<Window x:Class="WpfTutorialSamples.Misc_controls.WindowsFormsHostSample"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
        Title="WindowsFormsHostSample" Height="350" Width="450">
    <Grid>
        <WindowsFormsHost Name="wfhSample">
            <WindowsFormsHost.Child>
                <wf:WebBrowser DocumentTitleChanged="wbWinForms_DocumentTitleChanged" />
            </WindowsFormsHost.Child>
        </WindowsFormsHost>
    </Grid>
</Window>

从这个例子中


我认为CEFSharp捆绑了所有必要的东西-我不认为它依赖于目标PC上安装的Chrome/Chrome?
CEFSharp
不需要安装
Chrome
。您不能直接使用
CEF
,因为它只提供
C/C++API
,您需要查看
CefSharp
CefGlue
ChromiumFx
作为
CEF
的三个
网络包装器
CefSharp
需要
VC++
您可以将其与应用程序打包,请参阅
FAQ
您将遇到与WebBrowser相同的底层技术/问题。