Spesso può capitare di avere a disposizione una griglia di elementi, i cui contenuti hanno tutti una dimensione fissa definita a priori, ma, lavorando in ambiente principalmente desktop, si vuole comunque garantire che i contenuti si adattino alla dimensione della finestra durante il resize. Questo può principalmente essere realizzato in due modi:
- avendo i contenuti che si spostano e mantengono le dimensioni;
- avendo i contenuti che cambiano le dimensioni (sia di altezza che di larghezza) adattandosi al contesto.
Il Windows Community Toolkit è, come abbiamo già avuto modo di vedere in passato all'interno di altri script, un ottimo repository di utility che possono semplificarci la vita durante gli sviluppi delle nostre applicazioni UWP e, anche in questo caso, ci viene in aiuto per realizzare una griglia i cui contenuti possono "muoversi" all'interno dello spazio disponibile.
Per farlo, è sufficiente registrare il toolkit come namespace all'interno della pagina interessata e quindi sfruttare l'animazione di ReorderGridAnimation, come mostrato nell'esempio seguente:
<Page xmlns:animations="using:Microsoft.Toolkit.Uwp.UI.Animations" ...> <GridView x:Name="MyGridView" animations:ReorderGridAnimation.Duration="250" />
Al ridimensionarsi della finestra, i contenuti manterranno le dimensioni e, quando avranno sufficiente spazio, si sposteranno di una riga in alto o in basso, seguendo questa animazione che garantisce fluidità (poiché costruita tramite Windows Composition). Eventualmente è anche possibile cambiare la durata dell'animazione, anche se è consigliato mantenere un valore di 250ms per non creare un effetto "strano" agli occhi degli utenti.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare un service principal per accedere a Azure Container Registry
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Usare lo spread operator con i collection initializer in C#
Creare alias per tipi generici e tuple in C#
Creare una custom property in GitHub
Sostituire la GitHub Action di login su private registry
Implementare l'infinite scroll con QuickGrid in Blazor Server
Installare le Web App site extension tramite una pipeline di Azure DevOps
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Utilizzare QuickGrid di Blazor con Entity Framework
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Eseguire una query su SQL Azure tramite un workflow di GitHub