次の方法で共有


テキスト ボックス コントロールの PreviewKeyDown イベントが、WPF アプリの Microsoft IME によってトリガーできない

Note

この記事で説明している問題は、Windows 10 Version 2004/20H2/21H1/21H2 のバグであり、解決する予定はありません。 ただし、Windows 11 では解決されています。 そのため、システムを Windows 11 にアップグレードすると、問題を回避できます。

この記事では、テキスト ボックス コントロールの PreviewKeyDown イベントが、Windows Presentation Foundation (WPF) アプリケーションの一部の Microsoft 入力方式エディター (IME) によってトリガーされない問題について説明します。

適用対象: Windows Presentation Foundation、Windows 10、バージョン 2004、Windows 10、バージョン 20H2、Windows 10、バージョン 21H1、Windows 10、バージョン 21H2

現象

以下のシナリオについて考えてみます。

  1. Windows 10 Version 2004/20H2/21H1/21H2 で WPF アプリケーションを実行する。
  2. 東アジアの Microsoft IME を使用して、テキスト ボックス コントロールに入力する。

このシナリオでは、コントロールの PreviewKeyDown イベントはトリガーされません。 したがって、PreviewKeyDown イベント ハンドラーに依存するアプリケーションの一部の機能は、正常に機能しません。

原因

Microsoft IME は、Windows 10 の一部のバージョンで更新されています。 この問題は、最新の Microsoft IME の一部を使用している場合に発生します。

回避策

以前のバージョンの Microsoft IME に戻すには、[互換性] オプションをオンにします。 これを行うには、次の手順を実行します。

  1. タスク バーの検索ボックスに「言語設定」と入力し、結果のリストで [言語設定] を選択します。

    検索ボックスで言語設定を検索します。

  2. 言語の [オプション] を選択します。

    言語オプションを選択します。

  3. 言語オプション設定ページで、使用している IME の [オプション] を選択します。

    IME オプションを選択します。

  4. 全般 を選択します。

    [全般] を選択します。

  5. 以前のバージョンの <YourIME> オプションをオンにして、開いたウィンドウで [OK を選択します。

    互換性モードをオンにし、IME バージョンの変更を確認します。