Wpf 自动完成框索引

Wpf 自动完成框索引,wpf,Wpf,我刚刚把 two textbox(tabindex=0,2), one autocompletebox(tabindex=1) and one button(tabindex=3) 但在运行时,autocompletebox最终获得了标签 使用设置选项卡 KeyboardNavigation.TabIndex="0" 尝试各种键盘导航模式 我还按照它的索引顺序将控件放在xaml中 为什么自动完成框排在最后?它的解决方案是什么您只需添加 IsTabStop="True" 在对我有效的aut

我刚刚把

two textbox(tabindex=0,2),
one autocompletebox(tabindex=1)
 and one button(tabindex=3)
但在运行时,autocompletebox最终获得了标签

使用设置选项卡

KeyboardNavigation.TabIndex="0"
尝试各种键盘导航模式

我还按照它的索引顺序将控件放在xaml中


为什么自动完成框排在最后?它的解决方案是什么

您只需添加

IsTabStop="True"

在对我有效的autocompletebox解决方案上:

关于AutoCompleteBox的一个警告是,它无法识别TabIndex属性。它目前只是Silverlight控件的一个直接端口,显然Silverlight并没有TabIndex概念。事实证明,在WPF中实际上也不需要TabIndex属性,您将始终按照XAML中定义的顺序对控件进行tab。因此,为了确保遵循制表符顺序,不要在任何控件上设置TabIndex属性,只需确保将它们按所需的制表符顺序放置在XAML中即可


这是此控件的一个使用示例。在样式上设置TabIndex或任何文本框的属性:

<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>


自动完成盒是一个自写控件吗?使用WPFTookit中的控件-
xmlns:controls=“clr命名空间:System.Windows.controls;assembly=System.Windows.controls.Input.Toolkit”
控件“托管”在哪里?在StackPanel中,或者其他什么?请提供一个代码示例。`@Balu99:请将其作为正确答案发布,或者删除该问题……谢谢,这是帮助我的答案。必须在autocompletebox上包含的textbox控件上设置TabIndex和IsTabStop属性。如果在AutoCompleteBox上执行,则会忽略该操作,或使控件“聚焦”,但焦点不在允许输入文本的部分。