WPF中CEF安装的坑

上一个UI项目基本完工后,师傅给了个新的任务,研究怎么把浏览器加载到ui中,
由于使用ie内核太卡了,于是就上stackoverflow上查查有哪些解决方案,最后比较了下选择了CEF(Chromium Embedded Framework) 发现这里面的坑太多了。。。




言归正传:首先上github看看它的demo,发现了一个https://github.com/cefsharp/CefSharp.MinimalExample
作者就是cefsharp.wpf的作者,当我信心满满的下载下来之后,一运行发现一堆问题。。
首先是 引用,引用加载上之后发现引用不了命名空间。。
公司的网络太坑了,用nuget下载个引用根本下不下来于是回学校再研究吧。。
回学校下载好一运行竟然成功了。。。
第二天带着运行好的程序回公司,,还是用不了,就是其中一个dll报错,在网上找解决方案找了一天还是没找到。
最后用公司的网络墨迹的下载了nuget上的cefsharp.wpf的版本,把引用里的dll等东西拷到项目的release目录下就成功。。。
这说明网络的质量关乎着效率。。。


下面的代码是在Nuget上下载的后的简单demo

,webview的部分在下面这个xaml文件里~



    
        
            
            

        

        
            
        
        
    
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using CefSharp.Wpf;
using System.IO;
using System.Reflection;
namespace map
{
    /// 
    /// Interaction logic for MainWindow.xaml
    /// 
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
           
            this.Loaded += delegate
            {
             
 
 
 Assembly  _assembly = Assembly.GetExecutingAssembly(); \\要用assembly来加载html文件是因为有可能webview还没加载先load就不显示地图了

Stream _imageStream = _assembly.GetManifestResourceStream("map.HTMLPage1.html"); 

StreamReader _textStreamReader = new StreamReader(_imageStream, Encoding.UTF8);

 // aaa.LoadHtml(File.ReadAllText(@".\HTMLPage1.html"), @".\HTMLPage1.html"); 

aaa.LoadHtml(_textStreamReader.ReadToEnd(), "map.HTMLPage1.html");

 ///aaa.Load("HTMLPage1.html");

 }; 

}
 private void Button_Click(object sender, RoutedEventArgs e) { 

aaa.Load("www.baidu.com"); } 

}

}


html文件里是百度地图api上的html源代码 用来在ui中显示百度地图~此处没放上来~

html的源代码直接在百度LBS云里面下载。
Html里面存的是百度LBS云里面的源代码,如果想自己添加麻点在地图里,可以在后台添加!记住一定要添加样式这个字段,并且创建表的时候要选择可检索,HTML文件里吧AK和表的号换掉,即可。~有可能还是不显示 正常的,。。。

你可能感兴趣的:(C#/.net/wpf)