1
nikenidage1 349 天前
这个。。。cef 就是内嵌个 chrome 啊,你都不如用 webview
考虑下推倒重来吧 |
2
yueji OP @nikenidage1 推倒重来太费事了.如果能在 cef 里用 wpf 原生控件就完美解决了.
|
3
yueji OP |
4
lujiaxing 349 天前
不是, CEF 是能独立存在的么? 它总有个宿主吧? 不是 WinForms 就是 WPF 啊!! 你要单独搞一个界面显示 WPF 的图表那你就单独建窗体呀! 跟 CEF 有什么关系呢?? 你们是用 CEFSharp 还是 chromiumfx ??
但无论如何这些都不是单独存在的, 都是要有宿主的... |
5
clorischan 349 天前
没用过 Cef,
但是应该可以在 HTML 里放一个空白元素. 获取并持续监测这个元素的在 Cef 内的坐标, 并转换为相对 WPF MainWindow 的坐标. 然后自定义一个 UserControl 用来展示你需要高性能渲染的内容, 再根据上面获取的坐标, 放在 Cef 控件上层覆盖住空白 HTML 元素. |
6
adenlin 349 天前
意思是在 webview 里面使用 wpf 控件么?那基本上不太可能
osr 理论上可以做到,但是既然你问出这个问题了那估计你们大概率掌握不了这方面的技术... |
7
crazytudou 349 天前
//注入对象给 html 调用
var obj = new JsEvent(System.Threading.SynchronizationContext.Current); webBrowser.JavascriptObjectRepository.Register("wform", obj, isAsync: false, options: BindingOptions.DefaultBinder); public class JsEvent { private System.Threading.SynchronizationContext context; public JsEvent(System.Threading.SynchronizationContext context) { this.context = context; } //给 html 调用 public void testmsg(string type) { // } } 前端这么调用(js) wform.testmsg("test"); 你都用 cef 了,winform 和 wpf 应该都没啥区别吧 |