入力をフィルター処理するために使用する PreviewKeyDown イベントがあります (特にスペースをフィルター処理する必要があるため、PreviewKeyPress を使用することはできません)。
Delete、Backspace、Home、Arrow、Page Up などのキープレスを食べることを除いて、すべて正常に動作しています。
許可する必要があると思われるすべてのキーを考えてみて、イベントにそれらを無視するように指示することができます。
if ((e.Key == Key.Up) || (e.Key == Key.Down) || (e.Key == Key.Left)
|| (e.Key == Key.Right) || (e.Key == Key.Delete) || (e.Key == Key.Home)
|| (e.Key == Key.End) || (e.Key == Key.PageUp) || (e.Key == Key.Insert)
|| (e.Key == Key.F1))
しかし、私はいくつかを逃すと確信しています。
巨大な「または」ステートメントを作成し、それらすべてを取得できることを期待するより良い方法はありますか?