La dark mode è una feature molto richiesta, ma essendo stata messa a disposizione solo nell'ultimo anno, il lavoro del team di Xamarin è stato quello di facilitare l'implementazione nelle applicazioni esistenti. Dalla versione 4.6.0.967 (e con supporto minimo ad iOS 13/Android 10) è possibile stabilire lo stile di un oggetto attraverso la property AppThemeBinding.
<Style TargetType="ContentPage" ApplyToDerivedTypes="True">
<Setter Property="BackgroundColor"
Value="{AppThemeBinding Dark={StaticResource BackgroundColor_Dark},
Light={StaticResource BackgroundColor_Light}}"/>
</Style>E' stata inoltre aggiornata la modalità di setting del tema, passando da AppThemeColor ad UserAppTheme:
Application.Current.UserAppTheme = OSAppTheme.Dark; Application.Current.UserAppTheme = OSAppTheme.Light;
Eventualmente è possibile non selezionare nessun tema, lasciando al sistema operativo decidere quale adottare:
Application.Current.UserAppTheme = OSAppTheme.Unspecified;
Tramite il metodo RequestThemeChanged possiamo capire quando, ad esempio, l'utente ha deciso di specificarne uno alternativo:
Application.Current.RequestedThemeChanged += (s, a) => { //... };Per poter utilizzare questa funzionalità, considerando che è ancora in preview, dobbiamo abilitare l'apposita feature flag all'avvio dell'app di Xamarin Forms:
Forms.SetFlags("AppTheme_Experimental");Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestione degli eventi nei Web component HTML
Utilizzare i variable font nel CSS
Integrazione di Copilot in .NET Aspire
Utilizzare @property per animare nativamente un oggetto HTML tramite CSS
Integrare LLM alle nostre applicazioni in .NET con MCP
Fornire parametri ad un Web component HTML
Esporre un server MCP con Azure API Management
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Creare comandi nella dashboard .NET Aspire
Personalizzare le pagine di errore su Azure App Service
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Impostare automaticamente l'altezza del font tramite CSS


