2012-06-27 58 views
0

我有以下場景:在WPF TreeView中隱藏元素

我有一個ViewModel與分層元素顯示在TreeView中。到現在爲止還挺好。我現在想做的是根據ViewModel-Element上設置的某些屬性(如IsConfigurable等)從TreeView中隱藏/刪除元素。 如果我禁用DataTemplate,元素被刪除,但也是所有的子元素,這不是我想要的。

這可能嗎?

映入眼簾,

于爾根

+2

你想刪除父節點,但不是孩子?但是,孩子們會被綁定到什麼地方? – Zabavsky

+0

是否要隱藏父節點的「Header」並將其子節點保存在同一空白節點下? –

+0

我有點想'隱藏'一個節點,並把它的孩子掛到hierachie的下一個父母......但是沒有干涉集合本身......就像我說的,我不知道這是否可能。 – opiswahn

回答

0

這聽起來有些奇怪,但仍然...

你應該考慮到你的應用程序應保持測試和調試的。
您的模型包含原始數據(集合) - 不需要插入此處。在你的ViewModel中,你要綁定的對象,你可以計算出你想要顯示你的層次結構的轉換。這種方法的好處是,您可以「輕鬆」測試/調試您的轉換。現在將您的TreeView綁定到計算層次結構,而不進行晦澀的實驗。如果您的ViewModel中的屬性(您提到IsConfigurable或其他)發生了變化,那麼您知道何時重新計算您的綁定層次結構。