2009-03-03 15 views
0

フォーム上に図形を描画し、この図形の寸法を描画するコントロールをWPFで作成しています。これらのディメンションは編集可能なので、テキストボックスに表示されます。ユーザーがテキストボックス内のディメンションを変更すると、図形が更新されます。WPFテキストボックスでフォーカスを設定する

ディメンションを示すテキストボックスのフォーカスが失われたとき、つまりテキストボックスのフォーカスが失われるとすべてのディメンションが再描画されると、シェイプを更新しています。テキストボックスは、ユーザーがタブキーを押したとき、またはユーザーがテキストボックスの外の別のコントロールをクリックしたときのいずれかの方法でフォーカスを失います。

私の問題は、ユーザーがタブキーを押すかテキストボックスの外側のどこかをクリックすると、コントロール全体が再描画され、フォーカスが次のコントロールに設定されないということです。これは、タブが完全に機能しなくなり、ユーザがマウスを2回クリックしなければならないマウスを使用してフォーカスを設定するため、本当に面倒です。これを回避する方法はありますか?私のコントロールのイメージが

alt text http://img223.imageshack.us/img223/9496/cavity.png

+0

その時点で任意のテキストボックスにユーザーが入力したとき、つまり、OnTextChangedイベントを変更できるように、機能を少し変更することができます。そのため、ユーザーはディメンションを更新するために追加のクリックを行う必要はありません。また、タブキーを使ってテキストボックス間を移動することもできます。 –

答えて

1

下に表示され

あなたがこのウィンドウにタブ順序を自分で管理し、ということをしたいという、私はあなたがGotKeyboardFocusに加入するだろうと思うだろうと思われますそれらの編集フィールドにLostKeyboardFocusイベントを追加して、フォーカスがどこに届いているのか分からない場合は適切な場所にフォーカスを移動します。

関連する問題