タブオーダーを正しくするために戦ってきたWPFのビューがあります。3 つのテキスト ボックス (Text1、Text2、および Text3 と呼びます) と 2 つのカスタム コントロールがあり、それぞれに他のいくつかのテキスト ボックスとさまざまなコントロールがあります (Custom1 と Custom2 と呼びましょう)。
レイアウトは、タブ フローが Text1、Text2、Custom1、Custom2、Text3 になるようになっています。この順序に一致するように各コントロールの TabIndex プロパティを設定し、すべてが IsTabStop に設定されていることを確認しました。
問題は、実際のタブ フローが Text1、Text2、Text3、Custom1、Custom2 の順に進むことです。その理由がわかりません。カスタム コントロールに移動すると、期待どおりに、それらのすべてのコントロールを適切にステップオーバーします。最初のカスタム コントロールに移動する前に、3 番目のテキスト ボックスに移動する理由がわかりません。
すべての xaml 要素がタブ オーダーで配置されていることを確認するなど、考えられるすべてを試しましたが、何も役に立たないようです。
カスタムコントロールに焦点を当てる前に、基本的なコントロールをすべて調べているのではないかと思いますが、アイデアがありません。どんな助けでも素晴らしいでしょう。
編集: これが私のxamlです:
<Grid>
<GroupBox x:Name="_groupBox" BorderBrush="Transparent" BorderThickness="0">
<Grid x:Name="_card">
<Label Content="A:" Height="28" HorizontalAlignment="Left" Margin="5,3,0,0" Name="_labelA" VerticalAlignment="Top" />
<Label Content="B:" Height="28" HorizontalAlignment="Left" Margin="5,25,0,0" Name="_labelB" VerticalAlignment="Top" />
<TextBox Name="_a" Height="20" HorizontalAlignment="Left" Text="{Binding AText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" IsEnabled="{Binding AEnabled}" Margin="94,5,0,0" VerticalAlignment="Top" LostFocus="InputNameLeave" Width="221" TabIndex="0" />
<TextBox Name="_b" Height="20" HorizontalAlignment="Left" Margin="94,26,0,0" Text="{Binding BText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Top" Width="102" TabIndex="1" />
<my:CustomControlA HorizontalAlignment="Left" Margin="-6,55,0,0" x:Name="_custom1" VerticalAlignment="Top" TabIndex="2" IsTabStop="True" />
<my:CustomControlB HorizontalAlignment="Left" Margin="334,0,0,0" x:Name="_custom2" VerticalAlignment="Top" Width="320" TabIndex="3" IsTabStop="True" />
<Label Content="C:" Height="28" HorizontalAlignment="Left" Margin="342,59,0,0" Name="_labelC" VerticalAlignment="Top" />
<TextBox Name="_c" Height="20" HorizontalAlignment="Left" Margin="417,60,0,0" Text="{Binding CText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" IsEnabled="{Binding CEnabled}" VerticalAlignment="Top" Width="154" TabIndex="4" />
</Grid>
</GroupBox>
</Grid>