我刚刚提出
two textbox(tabindex=0,2),
one autocompletebox(tabindex=1)
and one button(tabindex=3)
但最后在运行时自动完成框获取标签。
使用
设置标签KeyboardNavigation.TabIndex="0"
尝试使用KeyboardNavigation的每种模式
我还按照tabindex顺序在xaml中推出了控件。
现在为什么autocompletebox最后?什么是它的解决方案
答案 0 :(得分:2)
这是用于此控件的示例。在样式上设置TabIndex或任何TextBox的属性:
<controls:AutoCompleteBox ItemsSource="{Binding Cities}"
FilterMode="Contains"
IsTextCompletionEnabled="True"
MinimumPrefixLength="2"
Text="{Binding Path=City,
Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}">
<controls:AutoCompleteBox.TextBoxStyle>
<Style BasedOn="{StaticResource {x:Type TextBox}}" TargetType="{x:Type TextBox}">
<Setter Property="MaxLength" Value="100" />
<Setter Property="TabIndex" Value="1" />
</Style>
</controls:AutoCompleteBox.TextBoxStyle>
<controls:AutoCompleteBox.BorderBrush>
<LinearGradientBrush MappingMode="Absolute" StartPoint="0,0" EndPoint="0,20">
<GradientStop Offset="0.05" Color="#ABADB3" />
<GradientStop Offset="0.07" Color="#E2E3EA" />
<GradientStop Offset="1" Color="#E3E9EF" />
</LinearGradientBrush>
</controls:AutoCompleteBox.BorderBrush>
</controls:AutoCompleteBox>
答案 1 :(得分:0)
您需要做的就是添加
IsTabStop="True"
自动完成框上的
答案 2 :(得分:0)
对我有用的解决方案:
关于AutoCompleteBox的一个警告是它无法识别TabIndex属性。它目前只是Silverlight控件的直接端口,显然Silverlight没有TabIndex概念。事实证明,WPF中并不真正需要TabIndex属性,您将始终按照在XAML中定义的顺序对控件进行选项卡。因此,为了确保标签顺序得到遵守,请不要在任何控件上设置TabIndex属性,只需确保按所需的标签顺序将它们放在XAML中。