我从一所大学继承了一个更大的C#项目(他走了,所以我不能再问他了(。IM在VS2012 .NET4.6上在这个项目中,我第一次在非模式窗口中添加了WPF文本框。问题是:我不能在文本框中更改文本。
我发现的是以下事实:
- 文本框未阅读
- 我可以使用backspace-和删除密钥,没有其他键
- contextmenu带有糊状,复制剪切作品,如预期
- 如果我打开窗口模式,我可以在框中更改文本
- 如果我打开了den窗口非模式,我可以捕获Events PreviewKeyup,PreviewKeydown,keyup和keydown
- 但是我无法捕获PreviewTextInput,textinput(那是正常(和文本变化。
- 当我从划痕中创建一个WPF项目时,一切都起作用。
我们有自己的wpf-window风格,但这没关系,如果我在窗口中使用这种样式。
任何人都可以告诉我,在模态/非模式窗口中文本框的行为有什么区别。您能给我一个提示,在这里我可以在其中查找对"从特征"项目和我们的项目之间的行为的修改?我可以以某种方式调试活动吗?
非常感谢
似乎您的项目是Winforms/win32和WPF的混合。
如果您以以下方式实例化窗口,则非模式窗口将正确捕获键盘事件:
Window wpfWindow = new Window();
ElementHost.EnableModelessKeyboardInterop(wpfWindow);
wpfWindow.Show();