Conosciamo bene le StaticResource: ci permettono di definire degli oggetti da riutilizzare in più parti nella nostra applicazione.
In WinRT possiamo personalizzare il caricamento delle risorse estendendo la classe CustomXamlResourceLoader.
Per caricare le nostre risorse è sufficiente fare l'override del metodo GetResource: il metodo riceve una serie di parametri tra i quali la chiave della risorsa da recuperare.
public class MyCustomResourceProvider : CustomXamlResourceLoader { protected override object GetResource(string resourceId, string objectType, string propertyName, string propertyType) { //logica per recuperare la risorsa utilizzando resourceId come chiave } }
Una volta creato il nostro "loader" personalizzato, non rimane altro che dichiararlo nello XAML:
<TextBox Text="{CustomResource mykey}"/>
Per personalizzare il caricamento delle nostre risorse non è necessario fare altro, solo utilizzare la Markup Extensions CustomResource.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestione dei nomi con le regole @layer in CSS
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Referenziare un @layer più alto in CSS
Utilizzare un service principal per accedere a Azure Container Registry
Creare una libreria CSS universale: Cards
Recuperare l'ultima versione di una release di GitHub
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Creare una custom property in GitHub
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Generare velocemente pagine CRUD in Blazor con QuickGrid
Hosting di componenti WebAssembly in un'applicazione Blazor static