4

WinForms ユーザー コントロール内に ActiveX コントロールがあります。私の WinForms アプリは気に入っています。

次に、WPF に移り、WindowsFormsHost コントロールでユーザー コントロールを使用します。うまく機能します...しかし、このコントロールを単一の要素として扱いたいので、ユーザーは既存のWPFコントロールの上でTABをきちんと押すことができ、このユーザーコントロールは「中に入る」ことはありません。つまり、他のすべてのコントロールと同様に、単一のコントロールとして扱います。

私が必要としているのは、キーをトラップする機能であり、イベント ハンドラーではフォーカスをシーケンス内の次のコントロールに移動するだけですが、キーボード入力をトラップできないようです。私はWPF PreviewKey..イベントなどを試しましたが、タブがコントロールに到達すると、コントロール内にとどまっているように見え、WPF イベントは無視されます。

多くのWPFの本やネットでこれに関するものを見つけることができませんでした。誰でも方法を提案できますか?

ありがとう、ジャック。

4

1 に答える 1

0

パネルまたはウィンドウ (コントロールの親が何であれ) でプレビュー マウス ダウンを実行して、ある種のフィルターを作成できませんか。この方法では、パネルはユーザー コントロールの前にそれをキャッチし、e.handled を設定する必要があります。 true。ユーザー コントロールがタブ イベントを発生させた場合は、別のコントロールを取得するまでフォーカスを押し続けます。Preview と e.Handled=ture で問題が解決するはずです。

于 2012-01-09T19:50:12.660 に答える