2010-11-19 13 views
4

私は、テキストボックスと2つのボタンからなるユーザーコントロールを持っています。
コントロールはダイアログボックスに配置され、ダイアログの上にあるiタブには、
のコントロールがあります。最初にテキストボックスにフォーカスが当てられます。
ボタンを1つ押し、次にもう1つボタンを押します。
しかし、ユーザコントロール
のラベルに "_Row count"を設定すると、ユーザーコントロール
は、フォーカスを受けません。 "gotkeyboardfocus"を実装しようとしましたが、
のテキストボックスコントロールにフォーカスが設定されていますが、動作しません。フォーカスが対象のユーザーコントロールに正しく入力されない

答えて

1

UserControlにはデフォルトでフォーカスが設定されていないため、これを有効にするためにはUserControlをオンにする必要があります。

<my:UserControl1 x:Name="userControl11" Focusable="True" .../> 
<Label Target="userControl11">_Row count</Label> 

そして、それはフォーカス

private void UserControl_GotFocus(object sender, RoutedEventArgs e) 
{ 
    textBox.Focus(); 
} 
+0

GotFocus/Focusテクニックはかなり醜いと思われますが、私はそれを行うためのよりよい方法がわかりません。 –

+0

確かにそうです.. userControl.textBoxを設定してもうまくいきませんので、より良い方法を考えることはできません –

+0

この作品はありがとうございます。私はちょうどオブジェクトがまだ焦点を当てていないことをイベントハンドラで確かめるでしょう - そうでなければあなたはそれから外に出ることができません。 – Greg

0

をrecievesとき、あなたはこんにちは、私は最近、フォーカスの問題が発生したユーザーコントロールの内部希望のTextBoxを集中することができます。私がしたのは、私のユーザコントロールの中からSetFocus()というメソッドを作成することです。そのusercontrolの中で私は消費者から.SetFocus()を呼び出した後に、自分のテキストボックスコントロールにフォーカスを直接設定しました。

public void SetFocus() 
{ 
this.txtCommand.Focus(); 
} 
関連する問題