Wpf Can';制表前进时,无法将键盘焦点/制表顺序设置为超链接

Wpf Can';制表前进时,无法将键盘焦点/制表顺序设置为超链接,wpf,keyboard,focus,Wpf,Keyboard,Focus,我有一个bug需要修复WPF应用程序中无法使用选项卡的超链接。前进时跳过该控件,但如果向后(shift-tab),链接将获得焦点 该窗口由几个面板组成:链接所在的顶部面板(usercontrol)、下方包含表单内容的主面板以及右侧的工具栏。制表符fwd将获得所有这些控件,但跳过顶部面板。如果按住shift键,您将获得超链接 帮忙 usercontrol有这样一个项目,当你前进时它不会获得焦点,但当你后退时它会获得焦点: <TextBlock x:Name="textPa

我有一个bug需要修复WPF应用程序中无法使用选项卡的超链接。前进时跳过该控件,但如果向后(shift-tab),链接将获得焦点

该窗口由几个面板组成:链接所在的顶部面板(usercontrol)、下方包含表单内容的主面板以及右侧的工具栏。制表符fwd将获得所有这些控件,但跳过顶部面板。如果按住shift键,您将获得超链接

帮忙


usercontrol有这样一个项目,当你前进时它不会获得焦点,但当你后退时它会获得焦点:

        <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>

找到了答案。我在UserControl上有以下内容:

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

移除了它,focus工作了

        <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>