2009-02-12 137 views
0

當數據綁定TreeView時,如何爲顯示的項目創建多個級別的分組?使用CollectionViewSources進行多級別分組

想象一下,您綁定到Shop類別(其中包含屬性RegionRetailChain)。所需的效果是有一個TreeView顯示商店中以下拓撲:

+ Region: California 
| + Walmart 
| + Walmart Pacific Beach 
| + Walmart Orange County 
| + Walmart San Diego 
+ Region: New Jersey 
    + Frys 
    | + Frys Electronics NJ 
    + Walmart 
    + Walmart New Jersey 

敲彎是這樣的:Region s的不相關的Retailer S,並且反之亦然,所以Shop(葉節點)是唯一的共同點。

使用CollectionViewSource只允許單個級別的分組(儘管CollectionView類具有建議多級分組的屬性)。

使用HierarchicalDataTemplate僅適用於自頂向下的拓撲,這種情況本身並不適用。

關於如何解決這個問題的任何建議?

回答

3

回答我的問題竟然是這樣的:

添加多個分組(通過PropertyGroupDescriptor)到CollectionViewSource,然後使用具有多個GroupStyles一個ListBox /數據網格。這種淨效應是,葉子項目(在我的例子中,商店)分爲兩個不同的層次。

切換哪個PropertyGroupDescriptor首先出現在CollectionViewSource中將更改哪個屬性是生成樹中的「根」級別。

+0

我想我有一個類似於你的場景,但我無法清楚地理解你的答案。你能幫我找到解決這個問題嗎?http://stackoverflow.com/questions/25482570/how-to-obtain-multi-level-hierarchy-with-collectionviewsource-to-bind-to-semanti – vivekp 2014-08-25 16:46:36

0

您可以隨時編寫代碼預處理數據並創建一組類以便更容易地進行綁定。

相關問題