xmlnsはその名の通りXML用に定義されたネームスペースのことです。これにより、タグの競合を防ぐことができます。プログラム言語のネームスペースと同じ役割を果たします。
今回は、xmlnsについて見ていきます。
オーソドックスなxmlns指定方法
xmlnsのフォーマットは下記のようになります。
xmlns:【XMLネームスペース名】:"clr-namespace:【ネームスペース】;assebmly=【アセンブリ名】"
具体的には、このようになります。
xmlns:contorlData="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"
xmlnsのコンパイルエラー
xmlns:Data="clr-namespace:System.Windows.Controls; assembly=System.Windows.Controls.Data"
のように、assemblyの前にスペースを入れるとコンパイルエラーになるので注意しましょう。
集約されたXAMLネームスペース
XAMLではxmlnsでXAMLのネームスペースを指定できます。通常では、アセンブリ名とアセンブリ内のネームスペースを指定する必要があります。しかし、Silverlightの標準SDKなどのXAMLネームスペースは、共有識別子として、一つのxmlnsで複数のクラスに参照できるようになっています。
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
や
xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
が該当します。
詳細は下記のページをご覧ください。
Silverlight ライブラリのプレフィックスとマッピング