/ Tab索引在用户控件和普通控件之间不起作用

时间:2015-01-20 07:35:29

标签: c# wpf

嗨我在页面中有一个wpf用户控件和wpf文本框控件,当我按下键盘上的Tab键时,它不会进入下一个控件,这是一个普通的文本框。我已将属性Tabstop设置为true但没有任何效果......

我没有在用户控件中为tab索引创建任何特殊属性。

<StackPanel Orientation="Vertical">
  //(User Control)
  <controls:UserControl x:Name="txt_Name" Header="Name"/>  

   (Normal TextBox Control)
  <StackPanel Orientation="Vertical" Margin="10">
      <Label Content="Size" VerticalAlignment="Top" />  
      //(Normal TextBox Control)                       
      <TextBox Name="txt_sizeofFacility"/>
  </StackPanel>


  <StackPanel Orientation="Vertical" Margin="10">
     <Label Content="Age" VerticalAlignment="Top" />
     //(Normal TextBox Control)
     <TextBox Name="txt_ageofFacility"/>
  </StackPanel>

    //(User Control)
  <controls:UserControl x:Name="txt_primaryActivity"  Header="Primary Activity"/>
</StackPanel>

2 个答案:

答案 0 :(得分:0)

这是我的代码:

<StackPanel Orientation="Vertical">
    <!--//(User Control)-->
    <controls:UserControl1 x:Name="txt_Name" />

    <!--(Normal TextBox Control)-->
    <StackPanel Orientation="Vertical" Margin="10">
        <Label Content="Size" VerticalAlignment="Top" />
        <!--//(Normal TextBox Control)-->
        <TextBox Name="txt_sizeofFacility"/>
    </StackPanel>


    <StackPanel Orientation="Vertical" Margin="10">
        <Label Content="Age" VerticalAlignment="Top" />
        <!--//(Normal TextBox Control)-->
        <TextBox Name="txt_ageofFacility"/>
    </StackPanel>

    <!--//(User Control)-->
    <controls:UserControl1 x:Name="txt_primaryActivity"  />
</StackPanel>

这是用户控制:

<UserControl x:Class="TabIndex.UserControl1"
         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" 
         mc:Ignorable="d" 
         d:DesignHeight="300" d:DesignWidth="300">
<Grid>
        <TextBox x:Name="test"></TextBox>
</Grid>

我可以重现。即使在每个文本框中手动设置焦点后,标签仍可正常工作

答案 1 :(得分:0)

我遇到了同样的问题,发现您可以在用户控件上设置下面的属性,这对我有用。

KeyboardNavigation.TabNavigation="Local"