2011-03-15 82 views
0

我現在有一個樹形視圖與模板選擇器。基本上,根上的每個樹節點都是某種類型數據的「類別」,並且這些節點下的每個子節點都以特定方式(通過模板選擇器)顯示。WPF ListView分組 - 與扭曲

這讓我在一個單一的控制顯示不同的數據很容易地只是使用綁定。我的問題是它的視覺效果不好。我想在每個根節點下有一個網格樣式(ListView.GridView)。

我一直在尋找的ListView分組,但它可以定義不同的列各組?既然我懷疑這是可能的,有什麼選擇?我希望允許用戶像TreeView一樣展開和摺疊組,但在滾動條等每個節點下看到一個GridView。

回答

0

我不認爲ListView控件支持組不同的頭。這只是行的分組。看起來你將不得不在每個樹節點下創建一個新的ListView。你可以嘗試一個數據網格。在WinForms中,你可以綁定到多個表格,網格將按照可以展開和摺疊的表進行分組,這將實際顯示不同的列。如果您使用的是MVVM(我假設有一些集合或層次模型),我不知道如何使用數據網格來完成此操作。

+0

沒有足夠的答案,所以我想你是正確的,那就是我正在做的。也許我需要重新考慮設計。 – 2011-03-17 22:51:21

-2

如果採用MVVM architecture,則可以實現想要的相對簡單。

在樹中的每個節點是特定類型(視圖模型)的。每種數據類型都將綁定到特定的視圖。每個視圖都可以是任何您想要的列的ListView。

我建議你閱讀MVVM和採納,以achievewhat你的需要。我發現MVVM的採用導致應用程序具有更清潔的架構和代碼。

+0

我已經使用MVVM,我已經在使用你所建議的技術,因此使我現在的樹templateselector。 – 2011-03-15 14:39:08

+1

如果您對每種類型的節點都有不同的視圖,則可以將每個節點渲染爲具有所需列數的不同ListView。 – jpsstavares 2011-03-15 14:46:26