如何在WPF的内容控件中为用户控件设置Taborder

本文关键字:控件 设置 Taborder 用户 WPF | 更新日期: 2023-09-27 18:26:08

我有一个窗口,其中有两个contentcontrol,我在运行时加载用户控件,我需要为ContentControl1和ContentControl2中的用户控件设置选项卡顺序?我怎样才能做到这一点?

如何在WPF的内容控件中为用户控件设置Taborder

您可以使用KeyboardNavigation.TabNavigation和KeyboardNavigation.TabIndex来实现这一点。

示例:

<ContentControl Content="{Binding Head}" x:Name="HeadCtrl" Height="50" ContentTemplate="{StaticResource VectorTemplate}"/>
 <DataTemplate x:Key="VectorTemplate">
    <StackPanel KeyboardNavigation.TabNavigation="Local" KeyboardNavigation.TabIndex="-1">
         <Button Content="{Binding Path=X}" KeyboardNavigation.TabIndex="0" ></Button>
         <Button Content="{Binding Path=Y}" KeyboardNavigation.TabIndex="1" ></Button>
    </StackPanel>
 </DataTemplate>

我能理解的是设置您在运行时添加的用户控件的Tab顺序。做这个怎么样:

 var usercontrol = new UserControl1();
 usercontrol.TabIndex = 0;
 ContentControl1.Content = usercontrol;