我有一个列表框,我绑定了一个排序的字符串列表。我想显示带有分隔符(标题)的列表,宣布新信件 - 就像iPhone上的“联系人”列表。如何按Silverlight中的首字母对列表中的项目进行分组?
有谁知道如何实现这个目标?也许使用ListBox不是正确的想法。
我用VS 2010快做这行的Windows Phone 7
我有一个列表框,我绑定了一个排序的字符串列表。我想显示带有分隔符(标题)的列表,宣布新信件 - 就像iPhone上的“联系人”列表。如何按Silverlight中的首字母对列表中的项目进行分组?
有谁知道如何实现这个目标?也许使用ListBox不是正确的想法。
我用VS 2010快做这行的Windows Phone 7
我不能为Silverlight说话,但总的.NET的做法是如下:
var groupings = mySortedString.GroupBy(x => x.Substring(0,1));
这使得一个IEnumerable<IGrouping<string, string>>
然后你将这个列表绑定到你的列表框。
从这里您必须拿出XAML来表示它的样子,但是这会将您的所有物品分组。
注意:IGrouping<,>
执行IEnumerable<>
所以你可以枚举它的项目。
跳转列表现在可以在11月份的Windows Phone工具包中找到。
详情在这里。请参阅LongListSelector。
我会使用Silverlight的WP7 Toolkit的LongListSelector做到这一点。这可能会让你的头脑发生混乱,我知道我当然做到了! 所以我刚刚建立了一个关于如何创建适合这个的嵌套组的博客。但是,如果你只是一个没有群组快捷链接的简单列表,那么你可以将它绑定到一个普通的集合并用作直接列表。
谢谢阿伦。我会尽快尝试。 – Alisa 2010-06-30 19:28:44