コントロールA
からすべてのキーイベントを他のコントロールB
にルーティングする標準的な方法はありますか?私は、キーボードのフォーカスがまだA
にあることを願っていますが、A
のイベントハンドラは、キーイベントに対してB
のすべてのイベントハンドラをトリガします。他のコントロールへのキーイベントのルーティング
編集:明確化:私がB
のために書いた特定のイベントハンドラを呼び出すだけでは不十分です。私は実際のイベントを模倣する必要があります。たとえば、キーがTextBox
に送信された場合は、TextBox
に書き込まれます。以下の解決策はそれを行いません(新しいイベントハンドラがB
に追加されても完全に失敗するという事実は言及しません)。
WPFは論理フォーカスとキーボードフォーカスを区別していますが、私はコントロールA
のままにしておく必要がありますが、場合によっては受信イベントを他のコントロールにルーティングする必要があります。
コントロールAのキーイベントを作成するだけでは、何らかのチェックを行い、必要に応じてコントロールBのキーイベントを呼び出すことはできませんか? – Relster
いいえ!それはイベントを引き起こさないでしょう。これは、以前はボタンのクリックイベントに関連付けられていた特定の単一の関数を呼び出すだけでした。 WPFが送信する実際のイベントをシミュレートします。 –
@Elazar - 私の編集を参照してください。 'RaiseEvent()'メソッドは代わりに機能するでしょうか? – Donut