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
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Reactive form tipizzati con FormBuilder in Angular
Evitare la command injection in un workflow di GitHub
Gestire domini wildcard in Azure Container Apps
Effettuare chiamate con versioning da Blazor ad ASP.NET Core
Utilizzare Azure AI Studio per testare i modelli AI
Utilizzare la libreria Benchmark.NET per misurare le performance
Usare lo spread operator con i collection initializer in C#
Aggiungere interattività lato server in Blazor 8
Load test di ASP.NET Core con k6
Utilizzare gli snapshot con Azure File shares
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!
- Estrarre dati randomici da una lista di oggetti in C#
- Usare il colore CSS per migliorare lo stile della pagina
- Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione