Nello sviluppo di applicazioni per Windows Phone che facciano uso di Panorama, è bene ricordare che le animazioni restano attive anche quando il PanoramaItem corrente non viene visualizzato.
In questi scenari, occorre prestare attenzione, perchè le animazioni, anche se non visualizzate, continuano a consumare risorse, rendendo, di fatto, la nostra applicazione più lenta.
In questi scenari occorre stoppare le animazioni, per poi riprenderle quando l'elemento che le contiene viene visualizzato. Per fare questo, è sufficiente intercettare l'evento SelectionChanged del controllo Panorama ed applicare un codice come il seguente:
private void panorama_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (panorama.SelectedItem == myItem)
storyboard.Resume();
else
storyboard.Pause();
}Questo codice stopperà la storyboard legata all'animazione quando l'elemento non è quello attualmente visualizzato, per farla partire quando lo diventa.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestire progetti NPM in .NET Aspire
Selettore CSS :has() e i suoi casi d'uso avanzati
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Evitare memory leaks nelle closure JavaScript
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Ricevere notifiche sui test con Azure Load Testing
Utilizzare @property per animare nativamente un oggetto HTML tramite CSS
Mischiare codice server side e client side in una query LINQ con Entity Framework
Controllare la telemetria con .NET Aspire
Gestione ciclo di vita in .NET Aspire
DevSecOps per .NET: dalla teoria alla pratica
Escludere alcuni file da GitHub Copilot


