代码之家  ›  专栏  ›  技术社区  ›  dex3703

制表符转发时无法将键盘焦点/制表符顺序设置为超链接

  •  0
  • dex3703  · 技术社区  · 16 年前

    我有一个错误,以修复一个WPF应用程序中的超链接,不能被标签。前进时跳过控件,但如果向后(shift-tab)制表符,链接将获得焦点!

    该窗口由多个面板设置:链接所在的顶部面板(usercontrol)、下方包含表单内容的主面板和右侧的工具栏。制表符转发将得到所有这些控制罚款,但跳过顶部面板。如果你移动标签,你会得到超链接。

    救命啊?

    <Grid x:Name="LayoutRoot">
        <Grid.RowDefinitions>
            <RowDefinition x:Name="gridRowBanner" Height="71"/>
            <RowDefinition x:Name="gridRowFormContent"/>           
        </Grid.RowDefinitions>
    
        <UserControl FocusManager.IsFocusScope="True" KeyboardNavigation.TabNavigation="Continue"/>
    
        <TabControl Grid.Row="1" TabStripPlacement="Left" >
    

            <TextBlock x:Name="textParentWorkItem" HorizontalAlignment="Right" VerticalAlignment="Top" Grid.Row="2" Grid.Column="1" >
                <Hyperlink Cursor="Hand" Click="Hyperlink_Click" x:Name="linkParentWorkItem" KeyboardNavigation.IsTabStop="True" >
                    <InlineUIContainer>                                
                        <TextBlock Text="{Binding ParentWorkItem[0].DisplayName, Mode=OneWay}" />
                    </InlineUIContainer>
                </Hyperlink>
            </TextBlock>
    
    1 回复  |  直到 16 年前
        1
  •  0
  •   dex3703    16 年前

    FocusManager.FocusedElement=“{Binding ElementName=tabItemGeneral}”

    移除了它,焦点就工作了。