通过WinForm控件创建的WPF控件无法输入的问题
2016-01-21 23:15
393 查看
今天把写的一个WPF程序发布到别的机器上执行,发现一个比较奇怪的问题:在那个机器上用英文输入法无法输入数字,非要切换到中文输入法才行;但在我的机器上却是好好的。
最开始以为是输入法的问题,弄了好一阵子后,终于找到了原因:虽然这个程序是个WPF程序,但为了复用之前的部分代码,使用着一个WinForm的菜单控件,后续的子窗口都是通过这个WinForm菜单创建的。而用WinForm控件创建的WPF控件可能出现无法正确响应键盘事件的情况。
找到了原因后,一个常规的解决方法是:将WinForm控件换成WPF控件,如果WinForm控件比较容易替换的话用这种方式是可以一次性的解决问题的。但如果要复用之前的控件,则可以使用如下函数使能WinForm创建的窗口或使用了WinForm创建的控件的窗口。
System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(winWPF);
相关文章: 解决Winform中弹出WPF窗体不能在文本框中输入的问题
最开始以为是输入法的问题,弄了好一阵子后,终于找到了原因:虽然这个程序是个WPF程序,但为了复用之前的部分代码,使用着一个WinForm的菜单控件,后续的子窗口都是通过这个WinForm菜单创建的。而用WinForm控件创建的WPF控件可能出现无法正确响应键盘事件的情况。
找到了原因后,一个常规的解决方法是:将WinForm控件换成WPF控件,如果WinForm控件比较容易替换的话用这种方式是可以一次性的解决问题的。但如果要复用之前的控件,则可以使用如下函数使能WinForm创建的窗口或使用了WinForm创建的控件的窗口。
System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(winWPF);
相关文章: 解决Winform中弹出WPF窗体不能在文本框中输入的问题
相关文章推荐
- Java并发编程知识总结
- JVM学习05-字节码执行过程和JVM指令集
- 笔记:《高效能人士的七个习惯》第十一章 再论由内而外造就自己
- Oracle sql文件转换成mysql sql文件
- s12-day03-work01 python修改haproxy配置文件(初级版本)
- LAMP架构之使用fpm机制编译安装
- 笔记:《高效能人士的七个习惯》第十章 习惯七 不断更新——平衡的自我提升的原则
- 《笨办法学Python》 第19课手记
- 7.Oracle深度学习笔记——内存架构之SGA Buffer Cache
- 我的网页搭建中篇01——网页背景01.使用半透明纯色做网页背景
- 应用锁之获取栈顶Activity
- Convolutional Neural Networks for Visual Recognition——笔记1
- 利用freemarker 静态化网页
- 第十四章 Executors源码解析
- 收缩TempDB的办法(转载)
- CSS中margin和position:relative的定位问题
- Vim 常用指令
- 6.Oracle深度学习笔记——内存架构之SGA 概述
- HTML&CSS 【二】
- 5.Oracle深度学习笔记——内存架构之PGA SQL Work 区