2012-06-27 57 views
0

我有以下场景:在WPF TreeView中隐藏元素

我有一个ViewModel与分层元素显示在TreeView中。到现在为止还挺好。我现在想做的是根据ViewModel-Element上设置的某些属性(如IsConfigurable等)从TreeView中隐藏/删除元素。 如果我禁用DataTemplate,元素被删除,但也是所有的子元素,这不是我想要的。

这可能吗?

映入眼帘,

于尔根

+2

你想删除父节点,但不是孩子?但是,孩子们会被绑定到什么地方? – Zabavsky

+0

是否要隐藏父节点的“Header”并将其子节点保存在同一空白节点下? –

+0

我有点想'隐藏'一个节点,并把它的孩子挂到hierachie的下一个父母......但是没有干涉集合本身......就像我说的,我不知道这是否可能。 – opiswahn

回答

0

这听起来有些奇怪,但仍然...

你应该考虑到你的应用程序应保持测试和调试的。
您的模型包含原始数据(集合) - 不需要插入此处。在你的ViewModel中,你要绑定的对象,你可以计算出你想要显示你的层次结构的转换。这种方法的好处是,您可以“轻松”测试/调试您的转换。现在将您的TreeView绑定到计算层次结构,而不进行晦涩的实验。如果您的ViewModel中的属性(您提到IsConfigurable或其他)发生了变化,那么您知道何时重新计算您的绑定层次结构。