ユーザーがテキストボックスに表示される可能性のある何かを入力しているかどうかを検出する必要がある WPF アプリケーションがあります。WinForms には、印刷可能な文字が入力されたときにのみ呼び出されるという点で、OnKeyDown とは異なる優れた OnKeyPressed オーバーライドがありました (たとえば、'A' と 'a' は区別されますが、一番上の行の '1' とまた、'Shift' などのキーも無視されました) WPF でその機能を複製する必要があります。
これで、OnKeyDown をオーバーライドしてキーコードを検査できることがわかりましたが、それは、テキスト ボックスに何かが表示される可能性のあるすべてのキーを手動でテストすることを意味します。これは、私が見つけた他の同様のSOの質問からのコンセンサスのようですが、APIから除外されるような基本的なものは信じられません.
モンスターの if-tree とは別に、「ハッキーな」解決策の 1 つは、メモリ内テキスト ボックスを使用し、それにキーコードを渡し、テキストの長さがあるかどうかを検査することです。しかし、可能な解決策としてそれを入力しても吐き気がします!うっ!気持ち悪い!
SO ...ユーザーがキーを押した場合に印刷可能な文字が表示されるかどうかを確認する最も簡単な方法は何ですか?
ティア、
マーク