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
Effettuare il binding di date in Blazor
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Eseguire una query su SQL Azure tramite un workflow di GitHub
Semplificare il deployment di siti statici con Azure Static Web App
Paginare i risultati con QuickGrid in Blazor
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Definire stili a livello di libreria in Angular
Assegnare un valore di default a un parametro di una lambda in C#
Creare un webhook in Azure DevOps
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Utilizzare Tailwind CSS all'interno di React: installazione
Evitare il flickering dei componenti nel prerender di Blazor 8
I più letti di oggi
- Sblocca le performance della tua applicazione con .NET 8
- Utilizzare WebAssembly con .NET, ovunque
- Gestire la cancellazione di una richiesta in streaming da Blazor
- L'evoluzione di Blazor in .NET 8
- gRPC con .NET
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Blazor: Security
- Utilizzare QuickGrid di Blazor con Entity Framework