TreeView中存在隐藏项时键盘导航失败

apa*_*dit 2 wpf wpf-controls

所以我有一个类似下面的TreeView,隐藏了某些项目.如果我尝试使用箭头键浏览树,我会卡在"折叠"项目周围的项目中.亲自尝试一下.


<Window x:Class="Example.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="TreeViewBug" Height="300" Width="300">
    <Grid>
        <TreeView>
            <TreeViewItem Header="a." />
            <TreeViewItem Header="b" Visibility="Collapsed" />
            <TreeViewItem Header="c." />
            <TreeViewItem Header="d" />
            <TreeViewItem Header="e." />
            <TreeViewItem Header="f" Visibility="Collapsed"/>
            <TreeViewItem Header="g." />
            <TreeViewItem Header="h" />
        </TreeView>
    </Grid>
</Window>

似乎没有其他人发布过这个问题(或者是关于它的博客),所以我发布它是希望得到一个非hacky解决方案.所以这是我的问题:

我该如何解决这个错误?

我计划扩展默认的TreeView以跳过将Visibility设置为Hidden/Collapsed或IsEnabled设置为false的项目.有没有其他人遇到过这个并提出一个好的解决方案?

Tim*_*res 5

我不明白为什么会这样.我可以通过添加:

 IsEnabled="False"
Run Code Online (Sandbox Code Playgroud)

折叠的项目.然后,导航按照您的预期工作.