Birisi bana aşağıdaki Ekran görüntüsünde gösterildiği gibi bir GridView for Metro Apps içinde gruplandırmayı gerçekleştirmeye nasıl yardımcı olabilir?Windows 8 Metro Uygulamasındaki GridView Grubunu Gruplama
Bu Ekran Developer Resources for Windows Metro Apps, gelen ama maalesef bunu başarmak için nasıl hiçbir açıklama yoktur.
Aşağıdaki kod parçacığını vardır:
Xaml:
...
<Page.Resources>
<CollectionViewSource x:Name="cvs" IsSourceGrouped="true"/>
</Page.Resources>
<Grid Background="{StaticResource DefaultBackground}">
<GridView x:Name="DefaultGridView" ItemsSource="{Binding Source={StaticResource cvs}}">
<GridView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Rectangle Fill="{Binding}" Width="100" Height="100" Margin="0 0 5 0"/>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
<GridView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock Text='{Binding Key}' Foreground="Gray" Margin="5" FontSize="30" FontFamily="Segoe UI Light" />
</DataTemplate>
</GroupStyle.HeaderTemplate>
<GroupStyle.Panel>
<ItemsPanelTemplate>
<VariableSizedWrapGrid MaximumRowsOrColumns="2" Orientation="Horizontal" />
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
</GridView.GroupStyle>
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
</GridView>
</Grid>
...
C#:
List<string> strList = new List<string>() {
"Red", "Red", "Red", "Red", "Red", "Red",
"Green", "Green","Green","Green","Green",
"Blue","Blue","Blue","Blue" };
var groupedList = from s in strList
group s by s into g
orderby g.Key
select g;
cvs.Source = groupedList;
: Ben OnNavigateTo Yöntem aşağıdaki do-Behind Code
Ne yaptığımın bir önemi yok, Öğeleri 0123'de olduğu gibi devam listesine ekleyemiyorumEkran görüntüsü. Kod, yan yana gruplandırılmış ayrı listelere neden olur.
MSDN örneği, kullanıcının sorduğu ile aynı değildir ... – toroveneno