2013-07-03 2 views
0

저는 WPF에 익숙하지 않습니다. 어떻게하는지 모르겠습니다.하이퍼 링크에서 TabIndex를 설정하는 방법은 무엇입니까?

<TextBlock Grid.Column="3" Grid.Row="3" Visibility="{Binding Path=CanCreate, Converter={StaticResource BoolVisibilityConverter}}"> 
    <Hyperlink KeyboardNavigation.TabIndex="2" Command="{Binding Path=CreateCommand}">Create 
     <Hyperlink.Style> 
      <Style TargetType="{x:Type Hyperlink}"> 
       <Setter Property="KeyboardNavigation.IsTabStop" Value="False" /> 
       <Style.Triggers> 
        <DataTrigger Binding="{Binding Path=CanCreate, Converter={StaticResource BoolVisibilityConverter}}"> 
         <Setter Property="KeyboardNavigation.IsTabStop" Value="True" /> 
        </DataTrigger> 
       </Style.Triggers> 
      </Style> 
     </Hyperlink.Style> 
    </Hyperlink> 
</TextBlock> 

가시성이 CanCreate 종속성 속성에 따라 달라집니다 - 나는 다음 코드를 시도했다. 여기서 IsTabStop은 사용할 수 없습니다. 누구든지 해결책을 제안 할 수 있습니까? 미리 감사드립니다.

요구 사항 나는 그것을 볼 때 하이퍼 링크에 대해 tabIndex를 설정하려는

.

답변

0

당신은 DataTrigger 변화 당신의 Hyperlink.Style로의 변환이 필요하지 않습니다 :

<Hyperlink.Style> 
     <Style TargetType="{x:Type Hyperlink}"> 
      <Setter Property="KeyboardNavigation.IsTabStop" Value="False" /> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding Path=CanCreate}" Value="True"> 
         <Setter Property="KeyboardNavigation.IsTabStop" Value="True" /> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
</Hyperlink.Style> 

편집이 : 당신은 또한 당신의 TextBlockHyperlink이 보이지 않는 경우 포커스를 제거 할 수 있습니다, 당신은 그것을 할 수 있습니다 또 다른 DataTrigger 추가 :

<Hyperlink.Style> 
      <Style TargetType="{x:Type Hyperlink}"> 
       <Setter Property="KeyboardNavigation.IsTabStop" Value="False" /> 
       <Style.Triggers> 
        <DataTrigger Binding="{Binding Path=CanCreate}" Value="True"> 
          <Setter Property="KeyboardNavigation.IsTabStop" Value="True" /> 
        </DataTrigger> 
        <DataTrigger Binding="{Binding Path=CanCreate}" Value="False"> 
          <Setter Property="Focusable" Value="False" /> 
        </DataTrigger> 
       </Style.Triggers> 
      </Style> 
    </Hyperlink.Style> 
+0

@RahulTaneja을, 당신은 TextBlock''의'Visibility' 설정의 변환이 필요하지만, 내가 위에서 말했듯이 당신은 늘 필요 'DataTrigger'에 – Bolu

+0

당신의 의견이 있습니다. 감사 –

관련 문제