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
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Gestione degli eventi nei Web component HTML
Simulare Azure Cosmos DB in locale con Docker
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Creare una libreria CSS universale: Nav menu
Cambiare la chiave di partizionamento di Azure Cosmos DB
Utilizzare una qualunque lista per i parametri di tipo params in C#
Gestire la cancellazione di una richiesta in streaming da Blazor
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Change tracking e composition in Entity Framework