テキスト ボックス コントロールの PreviewKeyDown イベントが、WPF アプリの Microsoft IME によってトリガーできない
注:
この記事で説明している問題は、Windows 10 Version 2004/20H2/21H1/21H2 のバグであり、解決する予定はありません。 ただし、Windows 11 では解決されています。 そのため、システムを Windows 11 にアップグレードすると、問題を回避できます。
この記事では、Windows Presentation Foundation (WPF) アプリケーションの一部の Microsoft 入力メソッド エディター (IME) によって TextBox コントロールの PreviewKeyDown イベントがトリガーされない問題について説明します。
適用対象: Windows Presentation Foundation、Windows 10 Version 2004、Windows 10 Version 20H2、Windows 10 Version 21H1、Windows 10 Version 21H2
現象
次のような状況で問題が発生します。
- Windows 10 Version 2004/20H2/21H1/21H2 で WPF アプリケーションを実行する。
- 東アジアの Microsoft IME を使用して、テキスト ボックス コントロールに入力する。
このシナリオでは、コントロールの PreviewKeyDown
イベントはトリガーされません。 したがって、PreviewKeyDown
イベント ハンドラーに依存するアプリケーションの一部の機能は、正常に機能しません。
原因
Microsoft IME は、Windows 10 の一部のバージョンで更新されています。 この問題は、最新の Microsoft IME の一部を使用している場合に発生します。
回避策
以前のバージョンの Microsoft IME に戻すには、[互換性] オプションをオンにします。 これを行うには、次の手順を実行します。
タスク バーの検索ボックスに「言語設定」と入力し、結果のリストで [言語設定] を選択します。
言語の [オプション] を選択します。
言語オプション設定ページで、使用している IME の [オプション] を選択します。
[全般] を選択します。
[以前のバージョンの <YourIME> を使用する] オプションをオンにし、開いたウィンドウで [OK] を選択します。