繁体   English   中英

WPF TextBox事件TextChanged PreviewTextInput不会触发

[英]WPF TextBox events TextChanged PreviewTextInput do not fire

我已经从一所大学继承了一个更大的C#项目(这些东西已经消失了,所以我再也不能问他了)。 VS2012 + .Net4.6上的即时消息在该项目中,我第一次将WPF文本框添加到非模式窗口。 问题是:我无法更改文本框中的文本。

我发现以下事实:

  • TextBox不是只读的
  • 我可以使用退格键和删除键,没有其他键
  • 带有粘贴的contextmenu,复制剪切的效果与预期的一样
  • 如果打开窗口模式,则可以更改框中的文本
  • 如果我打开非模态窗口,则可以捕获事件PreviewKeyUp,PreviewKeyDown,KeyUp和KeyDown
  • 但我无法捕获PreviewTextInput,TextInput(正常)和TextChanged。
  • 当我从头开始创建WPF项目时,一切正常。

我们有自己的WPF-Window-Style,但这无关紧要,无论我是否在窗口中使用此样式。

谁能告诉我模式/非模式Windows中TextBoxes的行为有何不同? 您能否给我一个提示,在这里我可以寻找对FromTheScratchProject和我们的项目之间行为的修改? 我可以以某种方式调试事件处理吗?

非常感谢

看来您的项目是WinForms / Win32和WPF的混合体。

如果以以下方式实例化窗口,则非模式窗口将正确捕获键盘事件:

Window wpfWindow = new Window();
ElementHost.EnableModelessKeyboardInterop(wpfWindow);
wpfWindow.Show();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM