Winrt C#-按字母顺序对Gridview和组进行排序
我今天来找你是因为我不知道如何解决这个问题。我想按字母顺序排列Gridview,这很简单。但我想在每组第一个字母之前加上一个字母的vignet。类似于Windows8的“联系人”应用程序的组件 像这样:Winrt C#-按字母顺序对Gridview和组进行排序,c#,gridview,listbox,group-by,windows-runtime,C#,Gridview,Listbox,Group By,Windows Runtime,我今天来找你是因为我不知道如何解决这个问题。我想按字母顺序排列Gridview,这很简单。但我想在每组第一个字母之前加上一个字母的vignet。类似于Windows8的“联系人”应用程序的组件 像这样: - A : aaaa aaaann aananana - B : bbbaaaa bbbabbbb bbbaccc -C : cccc... 这是gridview的代码。我将一个数据绑定到这个gridview,我想在每组字母之间添加另一个带有该组字母的vignet <Grid
- A :
aaaa
aaaann
aananana
- B :
bbbaaaa
bbbabbbb
bbbaccc
-C :
cccc...
这是gridview的代码。我将一个数据绑定到这个gridview,我想在每组字母之间添加另一个带有该组字母的vignet
<Grid>
<DataTemplate>
<GridView ItemsSource="{Binding Path=Data}"
IsItemClickEnabled="True" SelectionMode="None">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<VariableSizedWrapGrid Orientation="Vertical" ItemWidth="280" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
</GridView>
</DataTemplate>
</Grid>
如果你有主意的话?谢谢你抽出时间
问候。宾果,你会找到答案的 示例应用程序中的
SampleDataSource
具有以下方法:
internal List<GroupInfoList<object>> GetGroupsByLetter()
{
List<GroupInfoList<object>> groups = new List<GroupInfoList<object>>();
var query = from item in Collection
orderby ((Item)item).Title
group item by ((Item)item).Title[0] into g
select new { GroupName = g.Key, Items = g };
foreach (var g in query)
{
GroupInfoList<object> info = new GroupInfoList<object>();
info.Key = g.GroupName;
foreach (var item in g.Items)
{
info.Add(item);
}
groups.Add(info);
}
return groups;
}
}
cvs2
在页面的XAML代码中定义为资源:
<common:LayoutAwarePage.Resources>
<CollectionViewSource x:Name="cvs2" IsSourceGrouped="true" />
</common:LayoutAwarePage.Resources>
你会找到答案的 示例应用程序中的
SampleDataSource
具有以下方法:
internal List<GroupInfoList<object>> GetGroupsByLetter()
{
List<GroupInfoList<object>> groups = new List<GroupInfoList<object>>();
var query = from item in Collection
orderby ((Item)item).Title
group item by ((Item)item).Title[0] into g
select new { GroupName = g.Key, Items = g };
foreach (var g in query)
{
GroupInfoList<object> info = new GroupInfoList<object>();
info.Key = g.GroupName;
foreach (var item in g.Items)
{
info.Add(item);
}
groups.Add(info);
}
return groups;
}
}
cvs2
在页面的XAML代码中定义为资源:
<common:LayoutAwarePage.Resources>
<CollectionViewSource x:Name="cvs2" IsSourceGrouped="true" />
</common:LayoutAwarePage.Resources>
你会找到答案的 示例应用程序中的
SampleDataSource
具有以下方法:
internal List<GroupInfoList<object>> GetGroupsByLetter()
{
List<GroupInfoList<object>> groups = new List<GroupInfoList<object>>();
var query = from item in Collection
orderby ((Item)item).Title
group item by ((Item)item).Title[0] into g
select new { GroupName = g.Key, Items = g };
foreach (var g in query)
{
GroupInfoList<object> info = new GroupInfoList<object>();
info.Key = g.GroupName;
foreach (var item in g.Items)
{
info.Add(item);
}
groups.Add(info);
}
return groups;
}
}
cvs2
在页面的XAML代码中定义为资源:
<common:LayoutAwarePage.Resources>
<CollectionViewSource x:Name="cvs2" IsSourceGrouped="true" />
</common:LayoutAwarePage.Resources>
你会找到答案的 示例应用程序中的
SampleDataSource
具有以下方法:
internal List<GroupInfoList<object>> GetGroupsByLetter()
{
List<GroupInfoList<object>> groups = new List<GroupInfoList<object>>();
var query = from item in Collection
orderby ((Item)item).Title
group item by ((Item)item).Title[0] into g
select new { GroupName = g.Key, Items = g };
foreach (var g in query)
{
GroupInfoList<object> info = new GroupInfoList<object>();
info.Key = g.GroupName;
foreach (var item in g.Items)
{
info.Add(item);
}
groups.Add(info);
}
return groups;
}
}
cvs2
在页面的XAML代码中定义为资源:
<common:LayoutAwarePage.Resources>
<CollectionViewSource x:Name="cvs2" IsSourceGrouped="true" />
</common:LayoutAwarePage.Resources>
虽然这是大量在线样本和答案的常见问题之一,但没有努力找到答案。@FilipSkakun供您参考(为了节省您将来的时间),原因已经很清楚了。“主题外”->“询问代码的问题必须表明对正在解决的问题的最低理解。包括尝试的解决方案,为什么它们不起作用,以及预期的结果。”对,不知怎的,我寻找了它,却没有看到它。太多的文字。错误的用户体验。:)虽然这是大量在线样本和答案的常见问题之一,但没有努力找到答案。@FilipSkakun供您参考(为了节省您将来的时间),原因已经很清楚了。“主题外”->“询问代码的问题必须表明对正在解决的问题的最低理解。包括尝试的解决方案,为什么它们不起作用,以及预期的结果。”对,不知怎的,我寻找了它,却没有看到它。太多的文字。错误的用户体验。:)虽然这是大量在线样本和答案的常见问题之一,但没有努力找到答案。@FilipSkakun供您参考(为了节省您将来的时间),原因已经很清楚了。“主题外”->“询问代码的问题必须表明对正在解决的问题的最低理解。包括尝试的解决方案,为什么它们不起作用,以及预期的结果。”对,不知怎的,我寻找了它,却没有看到它。太多的文字。错误的用户体验。:)虽然这是大量在线样本和答案的常见问题之一,但没有努力找到答案。@FilipSkakun供您参考(为了节省您将来的时间),原因已经很清楚了。“主题外”->“询问代码的问题必须表明对正在解决的问题的最低理解。包括尝试的解决方案,为什么它们不起作用,以及预期的结果。”对,不知怎的,我寻找了它,却没有看到它。太多的文字。错误的用户体验。:)是的,我只是冲过去帮忙,没有时间补充更多细节。我相信也有关于Meta的讨论,讨论的是如何匆忙地投下否决票,因为我相信也有关于结束问题的讨论,而不是试图帮助提问者修正他们的方式。我错了。当我否决你的答案时,你的答案已经在这里至少30分钟了。我不觉得这是匆忙的否决票。我不理解你关于“帮助提问者改变他们的方式”的其他评论。不管怎样,我并不是想与你对抗,或者诸如此类的事情(我只是在解释我自己)。如果是那样的话,我道歉。我已经删除了我的反对票,因为我认为这个答案是有用的,编辑后。谢谢,我很感激这一点,很抱歉,仅仅是睡了5个小时后的一个糟糕的早晨就对你产生了影响。即使在凌晨1:30之前享受过编写XAML代码的乐趣。:)谢谢,我会试试的谢谢你,这个很好用!是的,我只是冲过去帮忙,没有时间补充更多细节。我相信也有关于Meta的讨论,讨论的是如何匆忙地投下否决票,因为我相信也有关于结束问题的讨论,而不是试图帮助提问者修正他们的方式。我错了。当我否决你的答案时,你的答案已经在这里至少30分钟了。我不觉得这是匆忙的否决票。我不理解你关于“帮助提问者改变他们的方式”的其他评论。不管怎样,我并不是想与你对抗,或者诸如此类的事情(我只是在解释我自己)。如果是那样的话,我道歉。我已经删除了我的反对票,因为我认为这个答案是有用的,编辑后。谢谢,我很感激这一点,很抱歉,仅仅是睡了5个小时后的一个糟糕的早晨就对你产生了影响。即使在凌晨1:30之前享受过编写XAML代码的乐趣。:)谢谢,我会试试的谢谢你,这个很好用!是的,我只是冲过去帮忙,没有时间补充更多细节。我相信也有关于Meta的讨论,讨论的是如何匆忙地投下否决票,因为我相信也有关于结束问题的讨论,而不是试图帮助提问者修正他们的方式。我错了。当我否决你的答案时,你的答案已经在这里至少30分钟了。我不觉得这是匆忙的否决票。我不理解你关于“帮助提问者改变他们的方式”的其他评论。不管怎样,我并不是想与你对抗,或者诸如此类的事情(我只是在解释我自己)。如果是那样的话,我道歉。我已经搬走了