Spesso ci troviamo a dover personalizzare l'aspetto dei controlli,ad esempio per quesioni di branding.
In questi casi ci troviamo di fronte ad una scelta: limitare la personalizzazione o creare uno Style che ridefinisca il ControlTemplate.
Quest'ultima era la scelta più comune in un'app Windows Phone, prima di WinRT.
Adesso, sfruttando le ThemeResorce è possibile personalizzare molti più aspetti: ad esempio, possiamo cambiare il colore di sfondo dello stato pressed di un pulsane senza dove ridefinire il template. Sarà sufficiente aggiungere un nuovo dictionary al nostro progetto ed eseguire l'override delle risorse interessate.
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App4">
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Default">
<SolidColorBrush x:Key="ButtonPressedBackgroundThemeBrush"
Color="Yellow"></SolidColorBrush>
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>Naturalmente è necessario conoscere la struttura del template e le risorse interessante. Procedendo in questo modo possiamo limitare il numero di Style utilizzati dall'applicazione, così da azzerare i problemi di incoerenza della UI.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Migrare applicazioni legacy nel cloud con Azure App Service Managed Instance
Evidenziare una porzione di testo in un pagina dopo una navigazione
Utilizzare le View Transition API di JavaScript
Costruire endpoint SSE in ASP.NET Core
Usare il metodo nameof con un tipo generico in C# 14
Microsoft Fabric: la piattaforma unificata per l'ecosistema dati moderno
Utilizzo del persistent state di Blazor nel prerendering
Raggruppamento degli aggiornamenti di dipendenze tra directory in un monorepo con Dependabot
Disabilitare la telemetria nella CLI di GitHub
Gestire il routing HTTP in Azure Container App
Gestire progetti .NET + React in .NET Aspire
Introduzione a GitHub Copilot CLI


