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
Creare form tipizzati con Angular
Utilizzare i primary constructor di C# per inizializzare le proprietà
Implementare il throttling in ASP.NET Core
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Generare file per il download da Blazor WebAssembly
Utilizzare Azure AI Studio per testare i modelli AI
Miglioramenti nell'accessibilità con Angular CDK
Utilizzare la session affinity con Azure Container Apps
Migliorare la sicurezza dei prompt con Azure AI Studio
Accesso sicuro ai secrets attraverso i file in Azure Container Apps
Potenziare Azure AI Search con la ricerca vettoriale
Eseguire attività basate su eventi con Azure Container Jobs
I più letti di oggi
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- Estrarre dati randomici da una lista di oggetti in C#
- Utilizzare un DataContext specifico per la modalità design time di Blend e Visual Studio nei controlli Silverlight
- Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps