Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 8 di 59
  • livello principiante
Indice lezioni

I namespace

Capire e lavorare con gli spazi dei nomi
Capire e lavorare con gli spazi dei nomi
Link copiato negli appunti

XAML, come tutti i linguaggi derivati da XML, eredita il concetto di spazio dei nomi. Solitamente un file XAML è composto da almeno due namespace, il primo, posto sull'elemento principale, definito tramite l'attributo xmlns è il namespace:

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

oppure

xmlns="http://schemas.microsoft.com/client/2007"

Viene utilizzato per validare la struttura ed il contenuto del file XAML.

Il secondo, convenzionalmente definito con il prefisso x e posto anche questo sull'elemento principale, è il namespace:

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Questo namespace ci permette di aggiungere una serie di direttive utili al parser XAML , come l'elemento x:Class che specifica il nome della classe di riferimento nel code-behind.

Custom Namespace

Possiamo definire dei Custom Namespace per referenziare classi contenute nelle nostre librerie, la sintassi è semplice ed è così composta:

xmlns:PrefissoCustomNamespace="clr-namespace:NamespaceLibreria;assembly=Libreria"

Tramite la direttiva assembly impostiamo la libreria da referenziare, mentre con la direttiva clr-namespace impostiamo il namespace della libreria. Vediamo due esempi:

xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:demo="clr-namespace:Html.It.Demo"

Nella prima riga abbiamo definito un custom namespace per accedere alle classi contenute nel namespace (.NET) System della libreria mscorelib.dll tramite il prefisso sys.

Se le classi che vogliamo referenziare si trovano all'interno del medesimo progetto Silverlight, è sufficiente impostare solo la direttiva clr-namespace per referenziarle, come dimostrato nella seconda riga, in cui abbiniamo il namespace con prefisso demo al namespace (.NET) Html.It.Demo.

Silverlight impone alcune restrizioni per i Custom Namespace:

  • Possiamo referenziare solo le librerie contenute nel file XAP o la libreria mscorelib.dll
  • La libreria non deve essere una di quelle presenti nel framework di Silverlight
  • Il nome della libreria utilizato nella direttiva assembly non deve terminare con l'estensione .dll

Ti consigliamo anche