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
Esporre tool MCP con Azure Functions
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Gestire il routing HTTP in Azure Container App
Ricerca delle GitHub issue tramite operatori logici
Integrare modelli AI in un workflow di GitHub
Creare un agente A2Acon Azure Logic Apps
Esporre workflow come server MCP con Azure Logic Apps
Il nuovo persistent state in Blazor
Utilizzo di CSS Scroll Snap per realizzare un carousel
Modificare lo stile in una QuickGrid Blazor
Ridurre il reflow cambiando il CSS
Analizzare il contenuto di una issue con GitHub Models e AI




