Nei precedenti script abbiamo visto come impostare alcuni aspetti del LongListSelector. Oggi vedremo come organizzare la fonte dati per poter visualizzare e utilizzare la jumplist
Per prima cosa, è necessario che la nostra fonte dati non sia "flat", ma organizzata a gruppi. Per fare questo come prima cosa è necessario creare una classe che definisca un gruppo.
public class Group<T> : List<T>
{
public Group(string name, IEnumerable<T> items): base(items)
{
this.Title = name;
}
public string Title
{
get;
set;
}
}La nostra classe Group<T> estende il tipo List<T>, aggiungendovi la proprietà Title del tipo string, che ci servirà come label del gruppo.
Infine, per creare una lista di gruppi è sufficiente definire una istanza di List
const string letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private static List<Group<City>> GetItemGroups(IEnumerable<City> itemList)
{
var _groupList = new List<Group<City>>();
foreach (var letter in letters)
{
var _group = new Group<City>(letter.ToString(), itemList.Where(c=> c.Name.StartsWith(letter.ToString())).OrderBy(c=> c.Name));
_groupList.Add(_group);
}
}Nel frammento di codice precedente creiamo una collezione di gruppi in ordine alfabetico.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Configurare OpenAI in .NET Aspire
Usare la parola chiave field per semplificare la scrittura di proprietà in C#
Integrare OpenTelemetry direttamente in Azure Monitor
Integrare email esterne con Azure Functions e Managed Connectors
Creare una file based app con C#
Testare le API di Azure Resource Manager con API Playground
Canary release con .NET Aspire
Impostare la content-visibility in CSS per ottimizare il rendering iniziale di una pagina
Eseguire i pre-commit hook di git con dependabot
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Utilizzare le direttive più importanti in una file based app .NET
Utilizzare @property per animare nativamente un oggetto HTML tramite CSS


