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
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Hosting di componenti WebAssembly in un'applicazione Blazor static
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Evitare il flickering dei componenti nel prerender di Blazor 8
Collegare applicazioni server e client con .NET Aspire
Utilizzare Container Queries nominali
Utilizzare il trigger SQL con le Azure Function
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
I più letti di oggi
- Build 2015: segui con noi tutte le novità per gli sviluppatori in diretta da San Francisco
- Speciale Windows Live Services: come integrarli nelle proprie applicazioni
- Rilasciata la RTM di SQL Server 2012, la versione Express subito in download
- Build 2014: tutte le novità per gli sviluppatori in diretta da San Francisco
- .NET Managed provider per MySQL
- WS-I approva Basic Profile 1.0
- Due regali dal Tech-Ed USA 2004: WSE 2.0 e VS 2005 Team System
- VS 2005 e SQL Server 2005 Express da scaricare
- Microsoft aggiorna WinFS beta 1 per VS 2005
- Utilizzare CLEditor per consentire l'input di HTML in ASP.NET MVC