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
Ottimizzare serializzazione e deserializzaione tramite le options con System.Text.Json
Workflow di continuous deployment tramite pull request label in GitHub
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
.NET 7 Live Q&A
Effettuare l'upload di un file via FTP con la libreria FluentFTP di .NET
Effettuare delete massive con Entity Framework Core 7
Le novità di .NET 7 e C# 11
Utilizzare la cancellazione logica in Azure Container Registry
Usare domini personalizzati con Azure Container App
Real world .NET Architecture
Usare gateway dedicati con Azure Cosmos DB per migliorare le prestazioni
Definire una tabella come memory optimized su Sql Server tramite EF Core
I più letti di oggi
- .NET Conference Italia 2022 - Milano e Online
- Visual Studio 2019 sarà disponibile a partire dal 2 Aprile
- Windows Phone 8.1 Day - Milano
- Speciale per il lancio di Visual Studio 2008, SQL Server 2008 e Windows Server 2008 dal 25/02 al 07/03
- ASP.NET 3.5 Extensions in beta la settimana prossima
- ASPItalia.com Future Web Conference: 15 gennaio 2008, L'Aquila
- Rilasciata la CTP Preview di ASP.NET 3.5 Extensions
- Tutto per portare Visual Studio 2015, ASP.NET 5 e Windows 10 sotto l'ombrellone!
- Real Code Day 4.0: costruire applicazioni reali - Firenze
- Tutto per portarsi il .NET Framework 3.5 sotto l'ombrellone