そのURLは本物か?

WPF4で、新規ウィンドウを作成した時にできるXAMLはこんな感じ。
<Window x:Class="TawamureDays.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>

</Grid>
</Window>
xmlnsは、そのまんまXAML用の名前空間。
その中にあるhttp:で始まるURLをブラウザに入力しても何も出てこない。
何も出てこないけど、ビルドは通るし、実行もできる。このURLは、アセンブリ(*.dll)内で、System.Windows.Markup.XmlnsDefinitionという属性(Attribute)クラスを使って、CLRの名前空間とXMLの名前空間を関連付ける。
この属性クラスは、自作のクラスに対してもできたりする。AssemblyInfo.csに上記の属性クラスを使う。

[assembly: System.Windows.Markup.XmlnsDefinition(
"http://tawamuredays.com/controls", "TawamureDays.Controls")]

こうしておけば、使う側としての名前空間定義は、

<Window x:Class="TawamureDays.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:twd="http://tawamuredays.com/controls">
</Window>
のようになる。このURLは複数の名前空間ともマッピングできるので、名前空間が複数になったとしても、1つの宣言で済ませられる。ただし、このURLでの宣言は、同じアセンブリ内では使えない。Orz
まあ、特に不都合はないんだけどさ。
スポンサーサイト
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: WPF4 | コメント: 0 | トラックバック: 0


この記事へのコメント

コメントの投稿

非公開コメント


サイドバー背後固定表示サンプル

当ブログに書かれたソースコードは流用自由です。

バグ、スペルミス等はありうる事です。

ご利用の際は自己責任でお願いしますm(_ _)m