自定义视图listview绑定WPF

时间:2010-11-03 21:56:28

标签: wpf data-binding grouping

您好我有下一个XAML标记(只是一个过程):

    <Window.Resources>
      <GridView x:Key="gridview">
        <GridViewColumn Width="200" DisplayMemberBinding="{Binding Title}">
            <GridViewColumnHeader Content="Titel" Tag="Title" Click="SortClick"/>
        </GridViewColumn>
        <GridViewColumn Width="200" DisplayMemberBinding="{Binding Artist}">
            <GridViewColumnHeader Content="Artiest" Tag="Artist" Click="SortClick"/>
        </GridViewColumn>
        <GridViewColumn Width="200" DisplayMemberBinding="{Binding Album}">
            <GridViewColumnHeader Content="Album" Tag="Album" Click="SortClick"/>
        </GridViewColumn>
        <GridViewColumn Width="50" DisplayMemberBinding="{Binding Genre}">
            <GridViewColumnHeader Content="Genre" Tag="Genre" Click="SortClick"/>
        </GridViewColumn>
        <GridViewColumn Width="50" DisplayMemberBinding="{Binding Jaar}">
            <GridViewColumnHeader Content="Jaar" Tag="Jaar" Click="SortClick"/>
        </GridViewColumn>
    </GridView>
    <my:IdToImageConverter x:Key="idToImageConverter" />
    <DataTemplate x:Key="iconTemplate">
        ...
    </DataTemplate>
    <my:PlainView x:Key="iconView" 
               ItemTemplate="{StaticResource iconTemplate}" 
               ItemWidth="300"/>
</Window.Resources>

<Grid>
    <ListView Name="LibView" ItemsSource="{Binding ElementName=win, Path=Biblio}"/>               
</Grid>

Biblio是包含LibView元素的可观察集合 iconView和gridview是我用于LibView的视图。这非常有效。

现在我想添加一个视图,它将每个元素按“艺术家”分组,我希望显示如下:

Artist1    - TitleA - AlbumA  
           - TitleB - AlbumB  
           - TitleC - AlbumC  
Artist2    - TitleD - AlbumD  
...

我想我必须制作某种模板,但我甚至不知道这是否可以使用XAML。

1 个答案:

答案 0 :(得分:1)

听起来你想要一个GroupStyle - 这可能解释了: http://bea.stollnitz.com/blog/?p=17

有很多例子 - 尝试搜索wpf groupstyle:)