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
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Triggerare una pipeline su un altro repository di Azure DevOps
Potenziare la ricerca su Cosmos DB con Full Text Search
Disabilitare automaticamente un workflow di GitHub (parte 2)
Generare una User Delegation SAS in .NET per Azure Blob Storage
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Paginare i risultati con QuickGrid in Blazor
Creare una libreria CSS universale: Nav menu
Configurare lo startup di applicazioni server e client con .NET Aspire
Change tracking e composition in Entity Framework
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste