cefsharp wpf 中文输入问题解决方法

栏目: ASP.NET · 发布时间: 8年前

内容简介:cefsharp wpf 中文输入问题解决方法

摘要

最近在搞一个客户端的项目,考虑使用wpf,内嵌webView的方式,访问h5页面。所以使用了CefSharp组件,但发现一个问题,就是在输入中文的时候,无法输入。

解决办法

去官方github的搜索了下,之前有人遇到过,并且解决了,

下载下来之后,重写OnPreviewTextInput方法,然后编译。

//CefSharp.Wpf.ChromiumWebBrowser 增加
protected override void OnPreviewTextInput(TextCompositionEventArgs e)
        {
           
                foreach (char t in e.Text)
                {
                    managedCefBrowserAdapter.SendKeyEvent((int)WM.CHAR, (int)t, 0); // or WM.IME_CHAR?
                }
            base.OnPreviewTextInput(e);
        }
 //SourceHook方法注释掉case WM.CHAR:

或者监听PreviewTextInput事件,对输入内容进行处理。

            var setting = new CefSharp.CefSettings();
            CefSharp.Cef.Initialize(setting);
            ChromiumWebBrowser webView = new CefSharp.Wpf.ChromiumWebBrowser();
            webView.PreviewTextInput += (obj, args) =>
            {
                foreach (var character in args.Text)
                {
                    // 把每个字符向浏览器组件发送一遍
                    webView.GetBrowser().GetHost().SendKeyEvent((int)WM.CHAR, (int)character, 0);
                }

                // 不让cef自己处理
                e.Handled = true;
            };

如图

cefsharp wpf 中文输入问题解决方法

但上面的问题解决了,仍有一个输入法候选词定位的问题,无法定位到输入框下面,这个问题也没找到解决办法,如图所示:

cefsharp wpf 中文输入问题解决方法

下面是winform使用cefsharp的情况

cefsharp wpf 中文输入问题解决方法

参考资料

http://www.cnblogs.com/wuya/p/cefsharp-wpf-chinese-input-mehond.html

http://www.cnblogs.com/ShengM/p/5832458.html


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Spring 2企业应用开发

Spring 2企业应用开发

人民邮电出版社 / 2008-10 / 45.00元

《Spring 2企业应用开发》是一部权威的实战指南,由Spring开发团队撰写,全面讲述了Spring2企业应用开发。主要涵盖SpringFramework、核心容器、AOP(面向方面编程)、典型的SpringAOP框架等内容。通过阅读《Spring 2企业应用开发》,读者能够在实战中掌握Spring最佳实践,成为高效的Java开发人员。一起来看看 《Spring 2企业应用开发》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具