TextBox
を含むカスタムUserControlがあります。 UserControlが表示されているときに、どのようにテキストボックスにフォーカスを置くのですか?私はUserControl.IsVisibleChanged
とTextBox.IsVisibleChanged
イベントでTextBox.Focus
を呼び出そうとしましたが、それは役に立たなかった。それ以外に何ができますか?コントロールが表示されているときにテキストボックスにフォーカスを移動
TextBox
にフォーカスが外れているようです。私が言いましたアプローチは、通常は機能します。 TextBox
にフォーカスが外れている原因を調べるにはどうすればよいですか?私はTextBox.LostFocus
イベントを聞いてみましたが、パラメータにはそれほど価値のない情報は含まれていませんし、スタックトレースの以前のメソッドも表示されません。
コード:
void TextBox1_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
{
if (this.TextBox1.IsVisible)
this.TextBox1.Focus();
}
私が前に言ったように、私はテストプロジェクトに同様のシナリオで同じコードを使用している場合、それは動作しますが、それは私のアプリケーションでは動作しません(アプリケーションがあります大きく、私は基本的にバグを修正していますが、これはその間にあります)。だから私は、問題がフォーカスが不適切に設定されているとは思えない(私がこの質問を開いたときに思ったように)、私は問題が焦点をリセットするということだと思う。私はそれがここにあるものを見つけることを試みている:Find out why textbox has lost focus。
テキストボックスの可視性変更イベントにフックすると、UIElement.Focus()が機能します。あなたのsceanrioを支配するのに役立つかもしれないいくつかのコードを共有できますか? –
質問を更新しました。 –
この問題の私の問題を修正しました:http://stackoverflow.com/questions/7892081/find-out-why-textbox-has-lost-focus –