2011-03-28 88 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。如果您正在使用第三方控件,則需要使用表情混合來更改其模板。