Windows Phone 7 Data Binding with Templates: Listing 2
The GroupedCustomers class.
- By Nick Randolph
- 09/01/2011
public class GroupedCustomers {
private const string Alphabet = "abcdefghijklmnopqrstuvwxyz";
private Group<CustomerListItem>[] customersByLetter;
public Group<CustomerListItem>[] CustomersByLetter {
get {
if (customersByLetter == null) {
var customers = (new DesignData()).CustomerList;
var grouped = (from ing in customers
group ing by ing.Name.ToLower()[0]
into CustomerGroup
select CustomerGroup).ToArray();
customersByLetter = (from letter in Alphabet
let customerSet = grouped.FirstOrDefault
((grouping) => grouping.Key == letter)
select new Group<CustomerListItem>
(letter.ToString(), customerSet)).ToArray();
}
return customersByLetter;
}
}
}
About the Author
Nick Randolph runs Built to Roam, a consulting company that specializes in training, mentoring and assisting other companies build mobile applications. With a heritage in rich client applications for both the desktop and a variety of mobile platforms, Nick currently presents, writes and educates on the Windows Phone platform.