XAML è il linguaggio basato su XML che permette di descrivere il layout delle applicazioni sviluppate per Windows Presentation Foundation, ma che in generale permette di dichiarare delle classi, impostare proprietà con tipi semplici o complessi, in un modo comprensivo sia all'uomo che agli strumenti di disegno.
Quando un'applicazione cresce, è molto probabile che si debba ricorrere a controlli personalizzati che magari ridefiniscono quelli già presenti in WPF oppure sono dei semplici tipi, come Brush, Enum, ecc. Poiché XAML utilizza le regole di XML è permesso dichiarare un nuovo namespace XML ed associarlo ad uno specifico namespace .NET.
Se per esempio si dispone di una classe di nome UserControl1 contenuta nel namespace ASPItalia.com.XScripts.Text, occorre dichiarare il prefisso nel seguente modo:
<Window x:Class="TestClient.Simple" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:c="clr-namespace:ASPItalia.com.XScripts.Text"> </Window>
Non è obbligatorio dichiarare il namespace XML a livello di root e il prefisso è libero, ma basta sapere che i nodi figli possono adottarlo e fare riferimento a qualsiasi classe come tag contenuta nel namespace .NET specificato dopo clr-namespace.
Ecco quindi un esempio di utilizzo del controllo personalizzato:
<c:UserControl1 />
Ci sono situazioni in cui il namespace che si vuole mappare è situato in un altro assembly. In questo caso occorre anche specificare l'assembly completo di strong name (non ci devono essere spazi):
<Window x:Class="TestClient.Simple" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:c="clr-namespace:ASPItalia.com.XScripts.CustomControlLibrary;assembly=CustomControlLibrary,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null" Title="Simple" Height="302" Width="418"> <StackPanel> <c:UserControl1 /> </StackPanel> </Window>
Nell'allegato è presente un esempio completo che mostra questa tecnica.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Build 2015: segui con noi tutte le novità per gli sviluppatori in diretta da San Francisco
- Speciale Windows Live Services: come integrarli nelle proprie applicazioni
- Rilasciata la RTM di SQL Server 2012, la versione Express subito in download
- Build 2014: tutte le novità per gli sviluppatori in diretta da San Francisco
- .NET Managed provider per MySQL
- WS-I approva Basic Profile 1.0
- Due regali dal Tech-Ed USA 2004: WSE 2.0 e VS 2005 Team System
- VS 2005 e SQL Server 2005 Express da scaricare
- Microsoft aggiorna WinFS beta 1 per VS 2005
- Utilizzare CLEditor per consentire l'input di HTML in ASP.NET MVC