创建CollectionViewSource

时间:2013-02-19 09:37:09

标签: c# mvvm winrt-xaml

大家好我不熟悉XAML MVVM概念我知道需要我很少有关于CollectionViewSource的概念我有一个带有GridView的WinRT应用我希望按专业对每个项目进行分组我创建了一个ModelView如何翻译到我在Google搜索的collectionView源但是这里没有解决方案代码的一部分:

  <Page.Resources>
            <DataTemplate x:Key="MyDataTemplate">
                <Border  >

                    <Grid Background="DodgerBlue" Height="150" Width="200" Margin="0,-7,-7,0" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False">
                        <StackPanel VerticalAlignment="Bottom">
                            <StackPanel.Background>
                                <SolidColorBrush Color="Black" Opacity=".25"/>
                            </StackPanel.Background>
                            <TextBlock Text="{Binding Name}"/>
                            <TextBlock Text="{Binding Profession}"/>
                            <TextBlock Text="{Binding Age}"/>
                        </StackPanel>
                    </Grid>
                </Border>
            </DataTemplate>
            <ItemsPanelTemplate x:Key="ItemsPanelTemplate1">
                <VariableSizedWrapGrid x:Name="gridviewVariableSized" MaximumRowsOrColumns="4" Orientation="Vertical" />
            </ItemsPanelTemplate>

        </Page.Resources>
 <Page.DataContext>
        <ModelView:PeopleCollection/>
    </Page.DataContext>

1 个答案:

答案 0 :(得分:1)

在ViewModel调用中获取CollectionViewSource

var groupable = CollectionViewSource.GetDefaultView(this.PeopleCollection);

(假设Peoplecollection是一个ObservableCollection或类似的东西。一旦你有了这个,你可以使用

分组
groupable.GroupDescriptions.Add(new PropertyGroupDescription("Country"));