Con Windows 10 è stato introdotto il concetto di DeviceFamily, ovvero un raggruppamento logico di dispositivi accumunati da una serie di caratteristiche hardware.
Questa classificazione tuttavia, non è solo qualcosa di utile al consumatore finale. La DeviceFamily è un potente discriminante che permette a noi sviluppatori di definire delle view XAML specifiche per una determinata famiglia di dispositivi, permettendoci di evitare utilizzi spropositati dei VisualStateTrigger che, seppur potenti e di semplice utilizzo, in alcune circostanze potrebbero non essere abbastanza.
Definizione di View XAML specifiche per una DeviceFamily
I modi in cui possiamo definire delle view XAML specifiche per una DeviceFamily sono sostanzialmente due:
1. Tramite solution folder;
2. Tramite naming convention;
In entrambi i casi vanno rispettate delle naming convention.
Qualora scegliessimo l'approccio indicato al punto uno, ci sarà sufficiente nominare la cartella in questo modo: DeviceFamily-(Mobile|Team|Desktop|IoT).
Il discorso è leggermente diverso qualora scegliessimo l'approccio al punto due, perché in questo caso sarà necessario nominare ogni View XAML dedicata a quella piattaforma nella seguente maniera: ViewName.DeviceFamily-(Mobile|Team|Desktop|IoT).xaml
L'immagine sottostante mostra l'approccio descritto al punto uno.
L'immagine sottostante mostra l'approccio descritto al punto due:
La Universal Windows App presa in esame non fa sostanzialmente nulla e le due view (MainPage.xaml) differiscono solamente nel colore di sfondo e nel testo della label posta al centro dello schermo.
Eseguendo l'applicazione prima su PC e poi nell'emulatore otteniamo questo risultato.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Miglioramenti nell'accessibilità con Angular CDK
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Miglioramenti nelle performance di Angular 16
Utilizzare un service principal per accedere a Azure Container Registry
Gestire domini wildcard in Azure Container Apps
Aggiornare a .NET 9 su Azure App Service
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Criptare la comunicazione con mTLS in Azure Container Apps
Creare una libreria CSS universale: Clip-path
Evitare il flickering dei componenti nel prerender di Blazor 8
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
I più letti di oggi
- Simulare Azure Cosmos DB in locale con Docker
- Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- .NET Conference Italia 2024 - Milano
- .NET Conference Italia 2023 - Milano e Online