修复CefSharp浏览器组件中文输入Bug

概述

最近在win10上开发wpf应用,需要将CefSharp中wpf版本的浏览器组件(版本号v51.0.0)嵌入到应用中,但是发现不支持中文输入,GitHub上有这个问题的描述,参照其提到的方法可以解决,但是候选词窗口不能跟随

解决方法

// browser是窗口上的浏览器控件
browser.PreviewTextInput += (o, e) =>
{
    foreach (var character in e.Text)
    {
        // 把每个字符向浏览器组件发送一遍
        browser.GetBrowser().GetHost().SendKeyEvent((int)WM.CHAR, (int)character, 0);
    }

    // 不让cef自己处理
    e.Handled = true;
};
posted @ 2016-09-02 10:25  ShengM  阅读(3359)  评论(3编辑  收藏  举报