Molte delle interazioni che usiamo nelle moderne applicazioni mobile sono diventate di uso comune.
Pensiamo al nostro programma di posta elettronica preferito: per cancellare un messaggio è sufficiente una semplice gesture di slide da destra verso sinistra.
Quella che può sembrare un'azione semplice può richiedere tempi di sviluppo non proprio brevi, perché nessun controllo nella UWP dispone di questo comportamento out of the box.
Anche in questo caso,ci viene in aiuto il UWP Community Toolkit con un controllo ad hoc: lo SlidableListItem. Questo controllo è pensato per essere usato all'interno di una DataTemplate per controlli come la ListView.
Di seguito la sintassi delle proprietà che permettono di impostare icona e label per lo swipe destro e sinistro, più l'eventuale colore di sfondo.
<controls:SlidableListItem LeftIcon="Favorite" RightIcon="Delete" LeftLabel="Set Favorite" RightLabel="Delete" LeftBackground="Green" RightBackground="Red" LeftForeground="White" RightForeground="Black" ActivationWidth="100" MouseSlidingEnabled="True" LeftCommand="ToggleFavorite" RightCommandRequested="event_handler"> </controls:SlidableListItem>
Se il controllo viene utilizzato come data template di una ListView e contemporaneamente viene intercettato il Click, lo swipe di default scatenerà questo evento. La proprietà IsPointerReleasedOnSwipingHandled permette se impostata a false di modificare questo comportamento.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Implementare il throttle in JavaScript
Utilizzare Hybrid Cache in .NET 9
Evitare memory leaks nelle closure JavaScript
Scrivere selettori CSS più semplici ed efficienti con :is()
Integrare un servizio esterno con .NET Aspire
Gestione ciclo di vita in .NET Aspire
Referenziare un @layer più alto in CSS
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Rendere le variabili read-only in una pipeline di Azure DevOps
Centralizzare gli endpoint AI Foundry con Azure API Management
Gestione CSS in Blazor con .NET 9
Generare una User Delegation SAS in .NET per Azure Blob Storage