Quando si vuole comporre una form, oppure quando ci sono campi variabili, spesso si trasformano campi visibili in nascosti in modo piuttosto brutale: questo perché il sistema offre di default una proprietà Visibility che può assumere solo due valori: visibile e nascosto. Spesso però, questa transizione tra i due stati è troppo veloce (immaginiamoci soprattutto di voler nascondere una immagine di grandi dimensioni) e potrebbe generare un effetto indesiderato all'utente finale.
Grazie al Windows Community Toolkit, ovvero una serie di utility che aiutano gli sviluppatori a realizzare comportamenti complessi, e al suo relativo pacchetto di NuGet, è possibile aggiungere un effetto di Fade a tutti i controlli disponibili sullo XAML:
<Page ...
xmlns:interactivity="using:Microsoft.Xaml.Interactivity"
xmlns:behaviors="using:Microsoft.Toolkit.Uwp.UI.Animations.Behaviors"/>
<Button Content="MyButton">
<interactivity:Interaction.Behaviors>
<behaviors:Fade x:Name="FadeBehavior"
Value="0.5"
Duration="1000"
AutomaticallyStart="True" />
</interactivity:Interaction.Behaviors>
</Button>
</Page>
L'esempio qui sopra dimostra come applicare l'effetto ad un bottone, ma lo si può replicare su qualsiasi altro pezzo di XAML. Eventualmente, è anche possibile gestire l'animazione in modalità asincrona dal code-behind, così da realizzare modalità di scomparsa tramite funzioni matematiche più complesse:
await MyButton.Fade(value: 0.5f, duration: 1000, easingType: EasingType.Default).StartAsync();
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eliminare una project wiki di Azure DevOps
Utilizzare Azure Cosmos DB con i vettori
Ottimizzare le performance usando Span<T> e il metodo Split
Implementare l'infinite scroll con QuickGrid in Blazor Server
Utilizzare una qualunque lista per i parametri di tipo params in C#
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Generare una User Delegation SAS in .NET per Azure Blob Storage
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Creare una libreria CSS universale: Nav menu
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL