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
Simulare Azure Cosmos DB in locale con Docker
Combinare Container Queries e Media Queries
Centralizzare gli endpoint AI Foundry con Azure API Management
Implementare il throttle in JavaScript
Ridimensionamento automatico input tramite CSS
Gestione degli eventi nei Web component HTML
Potenziare la ricerca su Cosmos DB con Full Text Search
Gestire codice JavaScript con code splitting e lazy loading
Self-healing degli unit test con Copilot in GitHub
Definire il colore di una scrollbar HTML tramite CSS
Configurare automaticamente un webhook in Azure DevOps
Integrazione di Copilot in .NET Aspire


