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
Integrare OpenTelemetry direttamente in Azure Monitor
Leggere i parametri da riga di comando in una file based app .NET
Utilizzare zizmor per rendere più sicuri i workflow di GitHub
Gestire gli errori nelle Promise JavaScript con try()
Integrare email esterne con Azure Functions e Managed Connectors
Ottimizzare i costi con Smart tier in Azure Blob Storage
Keynote Global Azure 2026 - ASPItalia.com
Importare un servizio esterno in .NET Aspire
Eseguire una ExecuteUpdateAsync senza usare un'expression con Entity Framework
Centralizzare e governare MCP server e Skill con Azure API Center
Esporre un server MCP con Azure API Management
Nuove validazioni Form Blazor


