In uno degli script precedenti (https://www.winrtitalia.com/script/213/Animare-Ordinamento-Elementi-Grid-Interno-Universal-Windows-Platform.aspx) abbiamo visto com'è possibile, facendo uso del Windows Community Toolkit, animare lo spostamento degli elementi contenuti all'interno di una Grid per fare in modo che si adattino alla dimensione dello schermo durante il resize, senza però che questi cambino dimensione.
Tuttavia, nonostante la realizzazione fosse piuttosto semplice perché realizzata tramite un'animazione, poteva generare un effetto indesiderato in cui, durante il ridimensionamento della finestra, potevano vedersi spazi bianchi, dovuti al fatto che i contenuti, per l'appunto, non si ridimensionavano. Con l'uso del controllo AdaptiveGridView invece, è possibile fare in modo che gli elementi cambino anche la dimensione, come mostrato nel caso seguente:
<Page ... xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"/> <controls:AdaptiveGridView Name="AdaptiveGridViewControl" ItemHeight="200" DesiredWidth="300" ItemTemplate="{StaticResource MyItemTemplate}"> </controls:AdaptiveGridView> ... </Page>
Le tipologie di funzionamento di questo controllo sono principalmente due:
- La prima, la più complessa, consiste nell'impostazione della sola proprietà DesiredWidth: questo significa che i contenuti possono adattarsi mantenendo anche l'aspect ratio, sfruttando tutto lo spazio orizzontale e verticale visibile a schermo. Poiché richiede modifiche anche al template dei singoli elementi, lo affronteremo in un prossimo script;
- La seconda, permette l'impostazione di una proprietà ItemHeight: i contenuti non manterranno l'aspect ratio e quindi potranno essere tagliati, ma occuperanno comunque tutto lo spazio orizzontale disponibile.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Cancellare una run di un workflow di GitHub
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Assegnare un valore di default a un parametro di una lambda in C#
Creare un webhook in Azure DevOps
Sfruttare al massimo i topic space di Event Grid MQTT
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Le novità di Angular: i miglioramenti alla CLI
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Gestione degli stili CSS con le regole @layer
Creare gruppi di client per Event Grid MQTT