0

1 つまたは 2 つの例外を除いて、すべての UI 要素のキーボード入力を無効にする必要があります。

つまり、制御には矢印キーが必要なので、MainWindow レベルに KeyEventHandler を追加し、タブ項目、テキストボックスなどの UI 要素用に別のものを追加して、フォーカスを取得したときに入力を無視するようにしました。私はかなりバグのあるコントロールになりました。たとえば、タブ項目を参照することはできますが、コントロール イベントが発生しないことがあります。これを行うためのより信頼できる方法が必要です..

どんな提案でも大歓迎です!

4

1 に答える 1

0

デフォルトでは、矢印キーは入力キーとは見なされません。したがって、ウィンドウ上のコントロールをスクロールします。この動作を変更するには、PreviewKeyDownイベント ( http://msdn.microsoft.com/en-us/library/system.windows.uielement.previewkeydown.aspx ) にサブスクライブして設定できます。 http://msdn.microsoft.comPreviewKeyDownEventArgs.IsInputKey = true;を参照してください。 /en-us/library/system.windows.forms.previewkeydowneventargs.isinputkey.aspx . 次に、矢印キーは、他のキー イベント ハンドラも として呼び出しますKeyDown

于 2013-08-07T07:37:48.213 に答える