2011-09-08 8 views
0

私はカスタムコントロールを持っています:それぞれがRadioButtonを含むListItemBoxのセットを定義するリストボックス。選択したラジオボタンは、順不同のタブを受け取ります

リストが動的に読み込まれ、コントロールのItemsSourceにデータが読み込まれるため、TabIndexを個別に設定していません。むしろ、ListBox自体にKeyboardNavigation = "Local"を設定しました。

ラジオボタンを選択するまで、これはうまくいきます(フォームをタブで移動し、リストボックスをタップし、各アイテムのタブを順番に入れて残りのフォームをタブします)。

ラジオボタンが選択された後、リストボックスのタブ移動を再開しようとすると、最初のタブが選択された項目に送信され、その項目の前に表示されるすべての項目がスキップされます。

この悪質な動作が発生しないようにする方法はありますか(コードビハインドではなく、XAMLで行うことをお勧めします)。

答えて

0

これはListBoxタブの通常の動作です。 ListBoxの最初のアイテムにフォーカスが設定されると、上向き矢印キーを使用して他のアイテムに移動できます。

タブビヘイビアを変更する場合は、hereはListBoxにあるテキストボックスに対して行われている処理です。うまくいけば、あなたはRadioButtonsのためにその方法を更新して使うことができます。

+0

ありがとうございました。しかし、私はまだそれを望み通りに機能させることができませんでした。私は、リストボックスを完全に落としてしまいました。普通の古いラジオボタンを使用するだけです。 –

0

ボタンがリストボックスから削除されました。リストボックスの使用は、バインディングがラジオボタンで失われていた古い問題から引き継がれましたが、私のテストではこれが4.0で修正されたことが示されています。ラジオボタンがリストボックスになくなると、タブ動作は必要に応じて行われました。

関連する問題