大家好我不熟悉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>
答案 0 :(得分:1)
在ViewModel调用中获取CollectionViewSource
var groupable = CollectionViewSource.GetDefaultView(this.PeopleCollection);
(假设Peoplecollection是一个ObservableCollection或类似的东西。一旦你有了这个,你可以使用
分组groupable.GroupDescriptions.Add(new PropertyGroupDescription("Country"));