Nel markup, l'utilizzo di controlli e di oggetti esterni al progetto corrente richiede la registrazione del namespace XML attraverso la direttiva xmlns.
Con l'aumentare della complessità del progetto le registrazioni dei vari namespace possono affollare il markup dello UserControl, diminuendo la leggibilità, aumentando il peso in termini di KB dello XAML e incrementando la possibilità di errori, dovuti a registrazioni con chiavi diverse per le stesse librerie.
In Silverlight, con gli attributi XmlnsPrefix e XmlnsDefinition abbiamo la possibilità di registrare un namespace XML personalizzato che identifichi una serie di librerie, anzichè un solo assembly e namespace .NET.
Per il loro utilizzo è necessario inserire manualmente le dichiarazioni:
[assembly: XmlnsPrefix("http://schemas.silverlightitalia.com/library", "library")] [assembly: XmlnsDefinition("http://schemas.silverlightitalia.com/library", "SilverlightItalia.Library")]
nei file AssemblyInfo.cs che si trovano all'interno della cartella Properties sia del progetto e della libreria.
Nel secondo attributo di XmlnsDefinition andiamo a specificare il namespace .NET a cui si deve riferire lo schema.
Con questi attributi possiamo specificare, come di consueto, il namespace XML nel markup, utilizzando come valore lo schema specificato.
<UserControl x:Class="SilverlightItalia._129.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:library="http://schemas.silverlightitalia.com/library"> <library:MyControl /> </UserControl>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Miglioramenti nelle performance di Angular 16
Eseguire query verso tipi non mappati in Entity Framework Core
Creare alias per tipi generici e tuple in C#
Reactive form tipizzati con modellazione del FormBuilder in Angular
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Ottimizzazione dei block template in Angular 17
Usare lo spread operator con i collection initializer in C#
Usare il versioning con i controller di ASP.NET Core Web API
Eseguire attività pianificate con Azure Container Jobs
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Configurare policy CORS in Azure Container Apps
Creare un'applicazione React e configurare Tailwind CSS