2011-10-25 26 views
0

TextBoxを含むカスタムUserControlがあります。 UserControlが表示されているときに、どのようにテキストボックスにフォーカスを置くのですか?私はUserControl.IsVisibleChangedTextBox.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

+0

テキストボックスの可視性変更イベントにフックすると、UIElement.Focus()が機能します。あなたのsceanrioを支配するのに役立つかもしれないいくつかのコードを共有できますか? –

+0

質問を更新しました。 –

+0

この問題の私の問題を修正しました:http://stackoverflow.com/questions/7892081/find-out-why-textbox-has-lost-focus –

答えて

-1

UCを表示させてから、ブリッジとしてUCを使用してから、TextBoxをフォーカスする機能を呼び出します。

+0

私はすでにそれを試みており、私はそれについて私の質問を書いた。 –

0

なぜ私はそれがなぜ視界が変わったのかわからない...しかし、私がTextBox1.Focus()IsEnabledChangedにしたとき、それは魅力的に働いた。

関連する問題