我有一个奇怪的现象:
我有一个包含文本框和简单用户控件(文本框和按钮)的MainWindow,但为了调试目的,我将其裁剪为仅含一个文本框。
当我使用没有设置TabIndex属性的文本框和用户控件时,光标按正确顺序步进控件(按照窗口中添加控件的顺序)。
当我使用设置了TabIndex属性的文本框和用户控件时,光标按无效顺序步进控件(首先所有用户控件,然后是所有文本框),这也适用于TabIndex设置为与控件添加顺序相对应的值。
以下是我的用户控件。
以下Mainwindow xaml导致订单000000,111111,222222,333333,这是正常的。
以下的Mainwindow xaml引导到订单000000,222222,111111,333333,这是不正确的。
有没有一种方法可以在不被强制按照XAML中的“正确”顺序添加控件的情况下使用TabIndex?
当我使用没有设置TabIndex属性的文本框和用户控件时,光标按正确顺序步进控件(按照窗口中添加控件的顺序)。
当我使用设置了TabIndex属性的文本框和用户控件时,光标按无效顺序步进控件(首先所有用户控件,然后是所有文本框),这也适用于TabIndex设置为与控件添加顺序相对应的值。
以下是我的用户控件。
<UserControl x:Class="SmallControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
>
<TextBox x:Name="txTEXT" Text="{Binding Text}" />
</UserControl>
以下Mainwindow xaml导致订单000000,111111,222222,333333,这是正常的。
<GroupBox Header="Small,Textbox,Small,TextBox without TabIndex">
<UniformGrid Columns="4">
<local:SmallControl Text="000000" />
<TextBox Text="111111" />
<local:SmallControl Text="222222" />
<TextBox Text="333333" />
</UniformGrid>
</GroupBox>
以下的Mainwindow xaml引导到订单000000,222222,111111,333333,这是不正确的。
<GroupBox Header="Small,Textbox,Small,TextBox with TabIndex">
<UniformGrid Columns="4">
<local:SmallControl TabIndex="0" Text="000000" />
<TextBox TabIndex="1" Text="111111" />
<local:SmallControl TabIndex="2" Text="222222" />
<TextBox TabIndex="3" Text="333333" />
</UniformGrid>
</GroupBox>
有没有一种方法可以在不被强制按照XAML中的“正确”顺序添加控件的情况下使用TabIndex?