Uno degli aspetti da tenere in considerazione con le applicazioni Windows Phone è che i temi di sistema sono due, uno chiaro e l'altro scuro. Se optiamo per tenere la nostra applicazione con il tema scelto dall'utente (per dare la sensazione che l'app si integri con il sistema), è necessario prestare attenzione al fatto che le immagini vanno generate per entrambe le versioni: con colore di riempimento bianco per il tema scuro e, viceversa, con colore snero per il tema chiaro.
Nel già citato Coding4FunToolkit, disponibile come package NuGet, è disponibile un converter chiamato ThemedImageConverter, che può essere registrato comodamente in app.xaml, così da essere disponibile in tutte le pagine:
<Application ... xmlns:c4f="clr-namespace:Coding4Fun.Phone.Controls.Converters;assembly=Coding4Fun.Phone.Controls"> <Application.Resources> <c4fControls:ThemedImageConverter x:Key="ThemedImageConverter"/> ... </Application.Resources> </Application>
A questo punto, sarà sufficiente un codice come questo per poter utilizzare il converter:
<Image Source="{Binding Converter={StaticResource ThemedImageConverter}, ConverterParameter={StaticResource PhoneBackgroundColor} }" DataContext="/MyProject;component/Images/{0}/ApplicationBar.Cancel.pn" />
L'effetto sarà quello di andare a cercare, nella directory /Images/Light o /Images/Dark, l'immagine giusta per il tema in uso.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Migliorare l'organizzazione delle risorse con Azure Policy
Gestire codice JavaScript con code splitting e lazy loading
Ordine e importanza per @layer in CSS
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Recuperare l'ultima versione di una release di GitHub
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Gestione CSS in Blazor con .NET 9
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Referenziare un @layer più alto in CSS
Scrivere selettori CSS più semplici ed efficienti con :is()
Rendere i propri workflow e le GitHub Action utilizzate più sicure
I più letti di oggi
- Segnala questa pagina ad un amico
- SQL Server 2005 in beta 2
- Gestione CSS in Blazor con .NET 9
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- Gestione ciclo di vita in .NET Aspire
- Calcolare il resto di una divisione
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!