前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WPF+HTML5混合开发

WPF+HTML5混合开发

作者头像
kiki.
发布2022-09-29 08:18:52
1.1K0
发布2022-09-29 08:18:52
举报
文章被收录于专栏:web全栈之路

       做wpf和html混合开发也有一段时间了,从传统桌面开发WPF转到web前端,有相通之处,也有差别比较大的地方,xaml到html都是类似xml的结构,style和web的style类似,而业务逻辑,前者一般是C#实现,后者一般是js,加上之前的学习过,使用起来还算顺手,但总的感觉是WPF开放比html开发方便太多,可能是前者接触更久的缘故,毕竟微软的东西,有自己一套成熟的体系,封装的系统且友好,而html与js,有vue.js,react.js等热门前端框架,无论是扩展性,丰富性,社区活跃度都比WPF要好

     说到混合开发,主的是CefSharp这个插件,提供一个Chrome浏览器的环境,这个插件,为C#的界面框架winform和wpf的都有支持,两个版本,具体插件安装和使用,网上有很多,就不赘述了,在这里,我主要说下我在使用过程种遇到的问题

1.环境要求

 .net framework 4.5.2 以及 和 VC++ 2015 runtime (x86/x64)  ,这两个环境,我是在用Inno Setup 打包的时候通过脚本判断安装的

C++的运行环境和CefSharp的版本有关,我用的是65的版本,最低要求VC++2015

2.C#和JS的交互

JS调用C#很简单,通过browser.RegisterJsObject(参数1, 参数2),参数2为C#种实例类的对象,参数1为C#中可以直接访问的对象,js中通过 参数1.方法,调用方法或属性,vue框架全局都可以访问。

但是C#调用JS,一种方式是把js中的方法和变量开放到打包好的index.html中,我在Vue中没有找到对应的方法,如果谁有方法,可以写在留言里。于是采用了一个笨方法,通过browser.EvaluateScriptAsync("Js代码")拿到标签中的值,或执行html标签上绑定的方法,如果没有对应标签,写一个隐藏的标签,可以通过这种方式,达到C#与js的互相调用

CefSharp 中文参考文档,看了不少文档,还是官方的最全面,遇到问题,先要从官方文档找,基本都有说明。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档