簡體   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