私のWPFアプリケーションに検索画面があります。この画面は、TabControlのTabItemにUserControlとして実装されています。ユーザーが[検索]タブに切り替えると、特定のフィールドにフォーカスが移ります。WPFアプリケーションでフォーカスがどこにあるのかを調べるにはどうすればいいですか?
XamlのUserControlタグにLoadedイベントハンドラを追加し、Loadedイベントハンドラに初期フォーカスを設定するコントロールのFocusメソッドを呼び出しました。これは私が今日使用しているTelerikコントロールライブラリをアップグレードするまで素晴らしい結果を出しました。今、私が検索タブに切り替えると、フォーカスは私が持っていたいフィールドにはありませんが、どのコントロールにフォーカスがあるのかは分かりません。
私はすでにフォーカスを持っているフィールドには、他の理由でGotFocus & LostFocusイベントハンドラがあります。 Winフォームでは、LostFocusイベントハンドラの引数は、どのコントロールがフォーカスを取得するかを示していることを思い出しました。そこで私は自分のLostFocusハンドラにブレークポイントを設定しました&は、WPFのLostFocusイベントハンドラへの引数にその情報が含まれていないことを発見しました。
私のUserControlのすべてのコントロールにGotFocusハンドラを置かずにフォーカスがどこにあるのかわかりますか?
トニー
ありがとう、これは私が必要なものです。私はフォーム上にあるチェックボックスに移動したので、フォーカスがどこに行きましたか簡単に分かりませんでした。これは、チェックボックスの内側に点線のボックスを置くことでフォーカスを示しています。あなたが本当にそれを探しているのでなければ、それは小さくて&見るのが難しいです。少なくとも、それは私のアプリケーションにあります。 –
@トニー私はそれが助けてうれしいです。 –