2011-03-28 46 views
0

我想知道是否在我的XAML代码中缺少与Tab键相关的内容。在我的情况下,我需要点击两次才能按Tab键顺序前进到下一个控件。找到在Silverlight 4中应用Tab键的正确方法将会很棒。下面是我用于Tab键的代码。先谢谢你!Silverlight 4标签顺序问题?

<StackPanel x:Name="sp" Grid.Column="0" > 
       <TextBlock x:Name="txtO" Style="{StaticResource AVV_TitleStyleBlue}" Text="Text" /> 
       <HyperlinkButton x:Name="hl1" Style="{StaticResource AVV_HyperlinkButtonStyle}" Content="test 1" IsTabStop="True" TabIndex="11" /> 
       <HyperlinkButton x:Name="hl2" Style="{StaticResource AVV_HyperlinkButtonStyle}" Content="test 2" IsTabStop="True" TabIndex="12"/> 
       <HyperlinkButton x:Name="hl3" Style="{StaticResource AVV_HyperlinkButtonStyle}" Content="test 3" IsTabStop="True" TabIndex="13" /> 
       <HyperlinkButton x:Name="hl4" Style="{StaticResource AVV_HyperlinkButtonStyle}" Content="test 4" IsTabStop="True" TabIndex="14" /> 
      </StackPanel> 
+0

您能否澄清一下问题(最新情况与您需要做什么)?测试没有样式的代码,Tab键似乎工作正常。 – foson 2011-03-29 02:27:49

+0

可能是风格中的某些东西需要关注 – Denis 2011-03-29 06:49:37

+0

问题是我需要单击两次以选择按Tab键顺序的下一个项目。感谢您的期待。 – vladc77 2011-03-29 13:03:09

回答

0

您可能会遇到问题,其中一个子控件也获取标签,我想这是因为您需要选项卡两次。在第一个选项卡上最有可能带你到一个隐藏的控件,第二个选项卡然后将你带到你想要的控件。为了解决这个问题,你需要找出当你点击Tab时焦点所在的控制点。你可以通过使用焦点管理器的获得焦点组件方法来做到这一点;你把它放在刚刚打开标签后的地方,在获得控制权之前可能需要一点点延迟。然后你在VS中设置一个断点,并获取有关该控件的信息。一旦找到您将其IsTabStop属性设置为false。如果您正在使用第三方控件,则需要使用表情混合来更改其模板。