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
Gestione dell'annidamento delle regole dei layer in CSS
Gestire liste di tipi semplici con Entity Framework Core
Applicare un filtro per recuperare alcune issue di GitHub
Ottenere un token di accesso per una GitHub App
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Disabilitare automaticamente un workflow di GitHub (parte 2)
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Creare un'applicazione React e configurare Tailwind CSS
Implementare l'infinite scroll con QuickGrid in Blazor Server
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Aggiungere interattività lato server in Blazor 8
Cancellare una run di un workflow di GitHub