Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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中使用WebKit浏览器控件_C#_.net_Wpf_Webkit - Fatal编程技术网

C# 如何在WPF中使用WebKit浏览器控件

C# 如何在WPF中使用WebKit浏览器控件,c#,.net,wpf,webkit,C#,.net,Wpf,Webkit,我想在我的WPF应用程序中使用WebKit浏览器控件。但是,我无法在设计时添加它。即使我将WebKit添加到工具箱中,它也是禁用状态 我的问题是如何在WPF表单的设计期间使用该控件 谢谢, Omkar我猜这是一个activex控件。试试这个: 如中所述,应首先在XAML文件中创建WPF网格 <Grid x:Name="grdBrowserHost"> </Grid> 别忘了包括这些参考资料 System.Windows.Forms WindowsFormsIntegr

我想在我的WPF应用程序中使用WebKit浏览器控件。但是,我无法在设计时添加它。即使我将WebKit添加到工具箱中,它也是禁用状态

我的问题是如何在WPF表单的设计期间使用该控件

谢谢,
Omkar

我猜这是一个activex控件。试试这个:

如中所述,应首先在XAML文件中创建WPF网格

<Grid x:Name="grdBrowserHost">
</Grid>
别忘了包括这些参考资料

System.Windows.Forms

WindowsFormsIntegration
在你的项目中


希望对您有所帮助。

目前在WPF应用程序中托管Webkit(或Blink)的最佳方法之一 (截至2017年10月)似乎有针对各种平台的一流包装器库,包括WinForms和WPF

我建议不要在WPF应用程序中使用
System.Windows.Forms.Integration.WindowsFormsHost
中的任何web浏览器控件,因为至少在高DPI上下文中添加了间接层和不可预测的行为-我确信还有其他原因

请注意,Awseomium不是真正的开源或自由软件

有了这个警告,:

  • 。(截至2017年10月,Awesomium下载页面无法升级,其他地方在线)
  • SDK安装程序将在GAC中为您注册Awesomium程序集,因此它们将出现在WPF(和WinForms)工具箱的“添加/删除项”窗口中
  • 在VisualStudio中打开WPF项目并打开XAML设计文档
  • 打开Visual Studio工具箱并打开“添加/删除项目”窗口,然后从GAC中加载的
    Awesomium.Windows.controls.dll
    程序集中添加Awesomeium WPF控件。您可能只需要
    WebControl
    控件(
    Awesomium.Windows.Controls.WebControl
  • 将控件从工具箱拖放到设计图面上-Visual Studio将自动更新项目以添加对Awesomeium程序集的引用
  • 请注意,Chromium还有其他包装器库——我并不打算特别支持Awesomium,但在最近的一个项目中使用它时,我玩得很开心


    另一个受欢迎的图书馆是BSD授权的,与Awesomium相比,它更美味,但是(据我所知)不分发为您处理Visual Studio工具箱集成的SDK安装程序-但看起来您只需要手动添加对
    CefSharp.Wpf.dll
    程序集的引用,并将元素添加到Wpf项目中(使用XAML编辑器,而不是工具箱-您无论如何都应该这样做).

    这带来了一个不幸的结果,即通过
    WindowsFormsHost
    在单独的hWnd中运行WebKit,然后在WPF上下文中重新发布,这增加了许多间接层,这将损害性能,并且在高DPI条件下可能无法使用。
    System.Windows.Forms
    
    WindowsFormsIntegration