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
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Eseguire query verso tipi non mappati in Entity Framework Core
Usare una container image come runner di GitHub Actions
Criptare la comunicazione con mTLS in Azure Container Apps
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Migrare una service connection a workload identity federation in Azure DevOps
.NET Conference Italia 2023
Semplificare il deployment di siti statici con Azure Static Web App
Effettuare il binding di date in Blazor
Accesso sicuro ai secrets attraverso i file in Azure Container Apps
Utilizzare la session affinity con Azure Container Apps
I più letti di oggi
- Utilizzare Azure AI Studio per testare i modelli AI
- I lego? Programmabili con .NET!
- Taggare automaticamente un repository con una pipeline di Azure DevOps
- Semplificare con un extension method l'aggiunta di filtri a run time nelle query LINQ
- Cambiare la pagina di anteprima dei Web Services
- Tracciabilità dei work item nel ciclo di vita del software con Azure DevOps
- Creare contatori nelle pipeline YAML con Azure DevOps