Итак, у меня есть 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>
Никто другой, похоже, не опубликовал этот вопрос (и не написал об этом в блоге), и поэтому я публикую его в надежде получить нехакерское решение этого вопроса. Итак, вот мой вопрос:
Как мне исправить эту ошибку?
Я планирую расширить TreeView по умолчанию, чтобы пропустить элементы с Visibility, установленным в Hidden / Collapsed или IsEnabled, установленным в false. Кто-нибудь еще сталкивался с этим раньше и придумал хорошее решение?