需要修改子元素的默认tab顺序
Need to modfy the default tab order of child elements
我有如下自定义控件。按tab键时焦点会按顺序元素排列移动。
查询:
当堆栈面板接收到选项卡焦点时,我需要更改堆栈面板中存在的默认选项卡顺序切换按钮
默认 Tab 顺序:
DockPanel--Border---StackPanel-->Button1-->button2-->button3
预期订单
DockPanel--Border---StackPanel-->Button3-->button2-->button1
我需要根据其父级更新 TabOrder。请建议解决方案修改基于parent
的Tab顺序
注意:我需要UI如下安排,只是我需要修改按钮的Tab键顺序
<DockPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<Border x:Name="MainBorder">
<StackPanel>
<ToggleButton>Button 1</ToggleButton>
<ToggleButton>Button 3</ToggleButton>
<ToggleButton>Button 3</ToggleButton>
</StackPanel>
</Border>
</DockPanel>
如评论中所述,请设置 TabIndex
属性。要进入控制,请使用 KeyboardNavigation.TabNavigation
附加 属性。
<DockPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<Border x:Name="MainBorder">
<StackPanel KeyboardNavigation.TabNavigation="Local">
<ToggleButton KeyboardNavigation.TabIndex="3">Button 1</ToggleButton>
<ToggleButton KeyboardNavigation.TabIndex="2">Button 2</ToggleButton>
<ToggleButton KeyboardNavigation.TabIndex="1">Button 3</ToggleButton>
</StackPanel>
</Border>
</DockPanel>
如果您想在 运行 时修改 Tab 键顺序,我建议您为它创建一个行为。参见 Use of Behavior in WPF MVVM? To access attached property from code see
我有如下自定义控件。按tab键时焦点会按顺序元素排列移动。
查询:
当堆栈面板接收到选项卡焦点时,我需要更改堆栈面板中存在的默认选项卡顺序切换按钮
默认 Tab 顺序:
DockPanel--Border---StackPanel-->Button1-->button2-->button3
预期订单
DockPanel--Border---StackPanel-->Button3-->button2-->button1
我需要根据其父级更新 TabOrder。请建议解决方案修改基于parent
的Tab顺序注意:我需要UI如下安排,只是我需要修改按钮的Tab键顺序
<DockPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<Border x:Name="MainBorder">
<StackPanel>
<ToggleButton>Button 1</ToggleButton>
<ToggleButton>Button 3</ToggleButton>
<ToggleButton>Button 3</ToggleButton>
</StackPanel>
</Border>
</DockPanel>
如评论中所述,请设置 TabIndex
属性。要进入控制,请使用 KeyboardNavigation.TabNavigation
附加 属性。
<DockPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<Border x:Name="MainBorder">
<StackPanel KeyboardNavigation.TabNavigation="Local">
<ToggleButton KeyboardNavigation.TabIndex="3">Button 1</ToggleButton>
<ToggleButton KeyboardNavigation.TabIndex="2">Button 2</ToggleButton>
<ToggleButton KeyboardNavigation.TabIndex="1">Button 3</ToggleButton>
</StackPanel>
</Border>
</DockPanel>
如果您想在 运行 时修改 Tab 键顺序,我建议您为它创建一个行为。参见 Use of Behavior in WPF MVVM? To access attached property from code see