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
Gestire gli errori nelle Promise JavaScript con try()
Configurare automaticamente un webhook in Azure DevOps
Gestire codice JavaScript con code splitting e lazy loading
Combinare Container Queries e Media Queries
Effettuare un clone parziale di un repository di GitHub
Ridurre il reflow cambiando il CSS
Self-healing degli unit test con Copilot in GitHub
Gestione delle scrollbar dinamiche in HTML e CSS
Eseguire query in contemporanea con EF
Simulare Azure Cosmos DB in locale con Docker
Ricevere notifiche sui test con Azure Load Testing
Scrivere selettori CSS più semplici ed efficienti con :is()


