より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

WPFのKeyDownでe.ImeProcessedKeyが取得された

Spaceキーが反応しない

WPFのKeyDownイベントで処理していたところ、本来のSpaceキーが取得されません。

デバッグすると、e.ImeProcessedKeyという値が。

docs.microsoft.com

SystemKeyに続き、これかよ。と。

強引にIMEオフにするといいんじゃと考えましたが、以下のように処理すると良さそうです。

            var inputKey = e.Key;
            if (e.ImeProcessedKey != Key.None)
            {
                inputKey = e.ImeProcessedKey;
            }

参考記事

haneisu.blog.fc2.com