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.
- #9 - Clonare un Path in Expression Design
- Speciale Windows SharePoint Services
- Rilasciata la Beta 3 di ADO.NET Entity Framework
- Un'occhiata a Silverlight 2.0
- Managed Services Engine
- #11 - Caricare un pacchetto di risorse con l'oggetto Downloader
- Dal MIX08 la nuova Beta1 di Internet Explorer 8.0
- Styles Explorer: decompilatore BAML
- Sorgenti custom per MediaElement di WPF
- Reflection: migliorare le performance
- #24 - Animare l'ingombro di un elemento con dimensioni dinamiche
- Microsoft Security Bulletin di aprile 2008
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.






Stampa
Download


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!