Nello script #7 (https://www.winrtitalia.com/script/7/Convenzioni-Mostrare-Immagini-Specifiche-DPI-App-Windows.aspx) abbiamo visto come l'engine di WinRT possa cercare automaticamente delle specifiche immagini in relazione alla densità dei pixel, al fine di rendere migliore l'aspetto generale delle app.
Oltre all'automatismo, possiamo conoscere la scala dei DPI anche a runtime grazie alla classe statica DisplayProperties (namespace Windows.Graphics.Display) ed in particolare alla proprietà ResolutionScale, la quale è il seguente enumeratore:
public enum ResolutionScale { Invalid = 0, Scale100Percent = 100, Scale140Percent = 140, Scale180Percent = 180 }
Grazie a questo oggetto possiamo creare le nostre logiche in modo molto semplice.
switch (DisplayProperties.ResolutionScale) { case ResolutionScale.Scale100Percent: break; case ResolutionScale.Scale140Percent: break; case ResolutionScale.Scale180Percent: break; default: throw new Exception("Unknown Scaling Factor"); }
DisplayProperties espone inoltre la proprietà LogicalDpi che esprime il valore preciso dei DPI del sistema dell'utente.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Definire lo stile CSS in base alle dimensioni del container
Le novità di .NET 7 e C# 11
Utilizzare il tag HTML template
Utilizzare la libreria Benchmark.NET per misurare le performance
Condividere i workflow tra più repository in GitHub
Leggere e scrivere su cookie tramite Blazor
Limitare lo spazio dei repository di Azure Container Registry con uno script bash e Azure CLI
Fare automaticamente il merge di una pull request con un workflow di GitHub
Ottenere il contenuto di una cartella FTP con la libreria FluentFTP
Creare applicazioni distribuite con Azure Container Apps e Dapr
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Introduzione alla security con GitHub