如何解决 CefSharp WPF控件不能使用输入法输入中文的问题


这篇文章将为大家详细讲解有关如何解决 CefSharp WPF控件不能使用输入法输入中文的问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。CEF is a BSD-licensed open source project founded by Marshall Greenblatt in 2008 and based on the Google Chromium project. Unlike the Chromium project itself, which focuses mainly on Goo 香港云主机gle Chrome application development, CEF focuses on facilitating embedded browser use cases in third-party applications. CEF insulates the user from the underlying Chromium and Blink code complexity by offering production-quality stable APIs, release branches tracking specific Chromium releases, and binary distributions. Most features in CEF have default implementations that provide rich functionality while requiring little or no integration work from the user. There are currently over 100 million installed instances of CEF around the world embedded in products from a wide range of companies and industries. A partial list of companies and products using CEF is available on the CEF Wikipedia page. Some use cases for CEF include:Embedding an HTML5-compliant Web browser control in an existing native application.Creating a light-weight native “shell” application that hosts a user interface developed primarily using Web technologies.Rendering Web content “off-screen” in applications that have their own custom drawing frameworks.Acting as a host for automated testing of existing Web properties and applications.CEF supports a wide range of programming languages and operating systems and can be easily integrated into both new and existing applications. It was designed from the ground up with both performance and ease of use in mind. The base framework includes C and C++ programming interfaces exposed via native libraries that insulate the host application from Chromium and Blink implementation details. It provides close integration between the browser and the host application including support for custom plugins, protocols, JavaScript objects and JavaScript extensions. The host application can optionally control resource loading, navigation, context menus, printing and more, while taking advantage of the same performance and HTML5 technologies available in the Google Chrome Web browser.
Numerous individuals and organizations contribute time and resources to support CEF development, but more involvement from the community is always welcome. This includes support for both the core CEF project and external projects that integrate CEF with additional programming languages and frameworks (see the “External Projects” section below). If you are interested in donating time to help with CEF development please see the “Helping Out” section below. If you are interested in donating money to support general CEF development and infrastructure efforts please visit the CEF Donations page.CEF 的 .NET 开源项目主要有下面三个:CefSharp:https://github.com/chillitom/CefSharpcefglue:https://bitbucket.org/xilium/xilium.cefgluechromiumfx:https://bitbucket.org/chromiumfx/chromiumfxCefSharp 和cefglue 都使用 C++/CLI 对 cef API 进行封装,都提供了 cef 的 Winform 和 WPF 控件,而chromiumfx 使用 P/Invoke 对cef API 进行封装,只提供了cefWinform 控件。CefSharp 和cefglue 的cefWPF 控件都使用 cef 的 osr ( off screen render)方式进行渲染,由于 osr 模式一直存在 IME BUG,所以 CefSharp 和cefglue 的 WPF 控件也存在。CEF osr IME bug 在2012-11-22 就有人提出:https://bitbucket.org/chromiumembedded/cef/issues/798/out-of-focus-while-entering-ime,但是直到2016年底才解决https://bitbucket.org/chromiumembedded/cef/issues/1675/inline-ime-support-nstextinput-protocol-in,真是等的黄花菜都凉了。然而,CefSharp 和cefglue 更是没能跟上 CEF 的脚步,这个 BUG 直到现在也没有解决,所有相关的 issue,回答都是建议在 WPF 中使用 Host WinForm 控件的方式使用 CEF。CEF osr IME bug:最近通过参考 cef 的 osr 示例的源码,通过移植和修改,终于实现了 CefSharp WPF 控件的 IME 输入,在这里分享给大家。主要是在 CefSharp.Core 项目中增加了对 IME 消息及 CEF IME 相关的处理,还有就是 WPF 的ChromiumWebBrowser 控件的相关代码修改。关于如何解决 CefSharp WPF控件不能使用输入法输入中文的问题就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

相关推荐: Django怎么实现分页功能

本篇内容介绍了“Django怎么实现分页功能”的有关知识,在实际案例的操作过程中,不少人都会遇到 香港云主机这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!修改django_project/blog/views.p…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 08/14 16:40
Next 08/14 16:40

相关推荐