Abbiamo già parlato del Silverlight for Windows Phone Toolkit e delle funzionalità di transizione che offre. Queste transizioni ricordano quelle che si trovano nel sistema operativo e consentono di migliorare l'UX dell'applicazione.
Molto spesso vengono applicati semplicemente via XAML, mentre è possibile applicarle anche programmaticamente, ad esempio quando si cambia logicamente il contenuto della schermata, ma non l'effettiva view XAML, come quando si naviga all'interno di una lista che mostra il dettaglio.
Supponendo di avere due controlli Grid, uno chiamato ContentPanel e l'altro NewPanel, e che si vuole passare dal visualizzare l'uno all'altro, dando la sensazione all'utente che si stia cambiando effettivamente view, si può usare in codice come questo:
public void StartTransition(UIElement element, bool isEntering) { var transition = new TurnstileTransition(); transition.Mode = isEntering ? TurnstileTransitionMode.ForwardIn : TurnstileTransitionMode.BackwardIn; var r = transition.GetTransition(element); r.Completed += delegate { r.Stop(); }; r.Begin(); } private void ChangeView_Click(object sender, RoutedEventArgs e) { ContentPanel.Visibility = Visibility.Collapsed; NewPanel.Visibility = Visibility.Visible; StartTransition(this, true); }
In questo scenario va poi gestisco esplicitamente il pulsante back, così da invocare l'animazione al contrario (il secondo parametro indica se è da richiamare l'animazione di ingresso o uscita).
E' utile sottolineare che tutte le animazioni del toolkit possono essere applicate anche ai singoli elementi visuali, non essendo limitati solo alle pagine.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Miglioramenti agli screen reader e al contrasto in Angular
Gestire liste di tipi semplici con Entity Framework Core
Creare una libreria CSS universale: i bottoni
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Gestione dei nomi con le regole @layer in CSS
Gestione degli stili CSS con le regole @layer
Generare velocemente pagine CRUD in Blazor con QuickGrid
Come migrare da una form non tipizzata a una form tipizzata in Angular
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
I più letti di oggi
- ora è la volta di #azure. http://aspitalia.com/build-win8 #BldWin
- Implementare il pattern Dispose del .NET Framework
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare la cancellazione logica in #azure Container Registry https://aspit.co/ccy di @CristianCivera
- Centrare elementi in HTML tramite CSS
- Annunciato #PowerBI Embedded e disponibile in preview a partire da oggi! https://aspit.co/build2016 #build2016
- con il code inspector si potrà vedere il codice server associato all'HTML prodotto, ... http://aspitalia.com/build-win8 #BldWin
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!