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
Creare una libreria CSS universale: Cards
Gestione dei nomi con le regole @layer in CSS
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Escludere alcuni file da GitHub Secret Scanning
Rendere le variabili read-only in una pipeline di Azure DevOps
Gestire progetti .NET + React in .NET Aspire
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Referenziare un @layer più alto in CSS
Utilizzare Azure Cosmos DB con i vettori
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Utilizzare Intersect e Except per filtrare set di dati in TSql