2014-03-31 44 views
3

我們正在研究一個ListView(C#WPF),但我們沒有找到如何綁定列中的項目列表,每個項目包含自身的具有相同列的項目列表。WPF ListView - 具有1個相同結構的2維

讓我們illustre這一個例子:

Exemple of our objective

我們得到了一個帶有參數(名稱等)的對象的可觀察集合,每個對象都包含另一個可觀察的具有相同參數的對象集合(exept他們沒有列表)。所以我們想把它列在一個ListView中,但我們無法想象它是如何的!

我們不知道有足夠的ListView來實現這個結構,有些建議嗎?

在此先感謝

+1

這不是一個完全簡單的事情。你希望你的團隊物品也可以重新規模化? – user3455395

+1

他們得到了相同的列(sames參數),所以我想只有1個ListView。你認爲這是可能的嗎? –

+2

只需通過GroupDescriptions使用CollectionViewSource,您就可以在沒有可調整大小的組級別項目的情況下獲得您的分組,只需查看MSDN即可。如果您希望組級別項目的行爲與未分組的項目類似,那麼它會給解決方案帶來很多複雜性。 – user3455395

回答

0

我認爲最好的方法是:

XAML:

<Window.Resources> 
<DataTemplate x:Key="gridViewSecondCellTemplate1"> 
      <StackPanel Width="100"> 
       <TextBlock Text="{Binding Content}" FontSize="15" /> 
      </StackPanel> 
</DataTemplate> 

     <DataTemplate x:Key="gridViewCellTemplate1"> 
      <StackPanel Width="100"> 
       <TextBlock Text="{Binding Title}" FontSize="15" /> 
       <ListView ItemsSource="{Binding MySecondSource}> 
       <ListView.View> 
        <GridView> 
         <GridViewColumn Header="{Binding Subtitle}" CellTemplate="{StaticResource gridViewSecondCellTemplate1}"/> 
        </GridView> 
       </ListView.View> 
       </ListView> 
      </StackPanel> 
     </DataTemplate> 
</Window.Resources> 

    <ListView ItemsSource="{Binding MySource}"> 
       <ListView.View> 
        <GridView> 
         <GridViewColumn Header="Col 1" Width="100" CellTemplate="{StaticResource gridViewCellTemplate1}"/> 
        </GridView> 
       </ListView.View> 
      </ListView> 

我沒有嘗試這個代碼。試試看,如果沒問題就說我。

相關問題