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
Eseguire una query su SQL Azure tramite un workflow di GitHub
Short-circuiting della Pipeline in ASP.NET Core
Creare un'applicazione React e configurare Tailwind CSS
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Usare le collection expression per inizializzare una lista di oggetti in C#
Evitare la script injection nelle GitHub Actions
Creare moduli CSS in React
Filtrare e rimuovere gli elementi dalla cache del browser tramite le API JavaScript
Generare token per autenicarsi sulle API di GitHub
Evitare il flickering dei componenti nel prerender di Blazor 8
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Utilizzare la session affinity con Azure Container Apps
I più letti di oggi
- Microsoft annuncia Windows "TrustBridge"
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Una attached property per accedere a NavigationService da ViewModel in Silverlight 4.0
- Usare il colore CSS per migliorare lo stile della pagina
- Estrarre dati randomici da una lista di oggetti in C#