如何创建始终扩展的树视图?

时间:2012-01-09 18:12:21

标签: wpf treeview expansion

嗯,我以为我解决了这个问题。我只是更改了TreeViewItem的模板,以忽略特定节点是否被扩展。看起来很棒!但就是这样......它看起来很棒!键盘导航仍然响应,就好像节点已展开或折叠一样。

例如,如果我在根节点上并点击右箭头(没有任何动作,也不应该动作)然后按下,我会转到根的第一个孩子。但是,如果我在根节点上并向左击(再次,没有任何动作)然后按下,我跳到第二个根节点,跳过所有第一个节点的孩子!

毋庸置疑,这不是我们想要的行为。我们可以简单地吞下左右箭头键,或者完全放弃树视图并移动到嵌套项目演示者(这无论如何都是TreeView所做的)但我希望我不必重新创建一个完整的控制只是为了这个功能。想法?

1 个答案:

答案 0 :(得分:0)

在TreeViewItem模板中,您可以将IsExpanded设置为true,然后如果它们具有子元素,则应展开所有项目。

不幸的是,你可能不得不吞下那些按键以获得你想要的键盘导航,因为你看到的导航是设计的。

您可以创建从TreeView继承的自定义树视图,并将这些按钮事件放在那里,以便您可以重复使用它。