Как сгруппировать элементы в списке по первой букве в Silverlight? - PullRequest
2 голосов
/ 30 июня 2010

У меня есть ListBox, к которому я привязал отсортированный список строк.Я хотел бы отобразить список с разделителями (заголовками), которые объявляют новое письмо - что-то вроде списка «Контакты» на iPhone.

Кто-нибудь знает, как достичь этой цели?Возможно, использование ListBox не является правильной идеей.

Я делаю это с VS Express 2010 для Windows Phone 7.

Ответы [ 4 ]

7 голосов
/ 30 июня 2010

Я не могу говорить за silverlight, но общая практика .NET будет выглядеть следующим образом:

var groupings = mySortedString.GroupBy(x => x.Substring(0,1));

Это дает IEnumerable<IGrouping<string, string>>, после чего вы привязываете этот список к вашему списку.

Отсюда вам придется придумать XAML, чтобы представить его так, как вы хотите, но это сгруппировало бы все ваши элементы.

Примечание: IGrouping<,> реализует IEnumerable<>, так что вы можете перечислить его для его элементов.

1 голос
/ 03 ноября 2010

Список переходов теперь доступен в ноябрьском выпуске Windows Phone Toolkit.

Подробности здесь.См. LongListSelector .

Элементы управления Mo, элементы управления mo, элементы управления mo ... [Объявление второго выпуска набора инструментов Silverlight для Windows Phone!]1009 *

1 голос
/ 01 июля 2010
0 голосов
/ 28 января 2011

Я бы использовал LongListSelector набора инструментов SilverLight WP7 для этого. Это может сбивать с толку, когда ты думаешь, как это работает ... Я знаю, что, конечно, сделал! Поэтому я только что открыл блог о том, как создать подходящую для этого вложенную группу. Однако, если вы просто прямой список без групповых ссылок для быстрого доступа, то вы можете просто связать его с обычной коллекцией и использовать как прямой список.

http://nicholasrogoff.wordpress.com/2011/01/28/creating-an-easy-grouped-observablecollection-for-the-longlistselector/

...