L'UWP Community Toolkit mette a disposizione una serie di controlli e helper che ci consentono di snellire e semplificare la scrittura delle nostre applicazioni. Nello script di questa settimana vediamo come sia semplice introdurre il concetto di loop delle animazioni, cosa che attualmente non è supportata direttamente.
Supponiamo quindi di avere una Grid di nome MyGrid e di voler animare tutti i suoi figli. Possiamo raggiungere questo risultato con uno snippet di codice di questo tipo:
private void Animate()
{
foreach (var children in MyGrid.Children)
{
var lastElement = MyGrid.Children.IndexOf(children) == (MyGrid.Children.Count - 1);
var animation = children.Scale(1.25f, 1.25f, 0.5f, 0.5f, 1000, 0).Then()
.Scale(1, 1, 0.5f, 0.5f, 1000, 0);
if (lastElement && ContinueAnimate)
animation.Completed += Animation_Completed;
animation.Start();
}
}
private void Animation_Completed(object sender, EventArgs e)
{
var animationSender = (sender as AnimationSet);
animationSender.Completed -= Animation_Completed;
Animate();
}
Nel nostro script, tramite il metodo Scale ingrandiamo il nostro UIElement di un 25% e, successivamente, concateniamo alla fine di questa prima animazione uno shrink che riporta le dimensioni a quelle precedenti. Il trucco per gestire il loop è quello di capire quando il figlio che stiamo animando è l'ultimo della collection e associargli un metodo che richiama ricorsivamente il metodo di partenza, nel nostro caso Animate.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Modificare lo stile in una QuickGrid Blazor
Ospitare n8n su Azure App Service
Gestione delle scrollbar dinamiche in HTML e CSS
Creare comandi nella dashboard .NET Aspire
Utilizzare AbortController per cancellare operazioni asincrone in JavaScript
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Supporto nativo a JSON in SQL Server 2025
Eseguire una ExecuteUpdateAsync senza usare un'expression con Entity Framework
Implementare il throttle in JavaScript
Importare un servizio esterno in .NET Aspire
Operazioni tra insiemi di array in Javascript
Gestire pubblicazione Kubernetes tramite .NET Aspire
I più letti di oggi
- Leggere i parametri da riga di comando in una file based app .NET
- Building Custom Developer Agents
- Build 2015: segui con noi tutte le novità per gli sviluppatori in diretta da San Francisco
- Build 2014: tutte le novità per gli sviluppatori in diretta da San Francisco
- Build 2016: segui con noi in live streaming!


