У меня есть представление в WPF, что я боролся за правильность порядка табуляции.У меня есть три текстовых поля (назовем их Text1, Text2 и Text3) и два пользовательских элемента управления, каждый из которых имеет несколько других текстовых полей и различные элементы управления (давайте назовем их Custom1 и Custom2).
Макет таков, что поток вкладок должен переходить в Text1, Text2, Custom1, Custom2, Text3.Я установил свойство TabIndex на каждом элементе управления, чтобы соответствовать этому порядку, и проверил, что все они установлены в IsTabStop.
Проблема в том, что фактическим потоком вкладок является Текст1, Текст2, Текст3, а затем Пользовательский1, Пользовательский2, и я не могу понять, почему.Когда он переходит к пользовательским элементам управления, он правильно переходит все элементы управления в них, как я и ожидал.Я просто не могу понять, почему он переходит к третьему текстовому полю, прежде чем он перейдет к первому пользовательскому элементу управления.
Я перепробовал все, что мог придумать, включая проверку того, что все элементы 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>