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
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Supportare la sessione affinity di Azure App Service con Application Gateway
Loggare le query più lente con Entity Framework
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Path addizionali per gli asset in ASP.NET Core MVC
Fornire parametri ad un Web component HTML
Ridurre il reflow cambiando il CSS
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Configuratione e utilizzo .NET Aspire CLI
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Introduzione ai web component HTML
Documentare i servizi REST con Swagger e OpenAPI con .NET 9


