• 締切済み

ルート要素に指定しているxmlnsについて教えて下さい。

「Visual Studio 2008」の評価版を使用しています。 下記の記述はプロジェクトを作成した時に作成されたXAMLファイルです。 ※デフォルトです。 <UserControl x:Class="_sample.Page"  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  Width="400" Height="300">  <Grid x:Name="LayoutRoot" Background="White">  </Grid> </UserControl> 「xmlns」と「xmlns:x」について教えて下さい。 「xmlns」・・・ XML名前空間 「xmlns:x」・・・ XAML言語の名前空間 下記のサイトに書いてありましたが・・・ http://msdn.microsoft.com/ja-jp/library/cc189036(VS.95).aspx#whatisxaml 私が知りたいのはこの「xmlns」と「xmlns:x」の属性は固定ですか。 ※固定というのはURLではありません。 くだらない質問かも知れませんがご教授、お願いします。 失礼します。

みんなの回答

  • Gab_km
  • ベストアンサー率40% (20/50)
回答No.2

>「xmlns:x」・・・ XAML言語の名前空間 ここにあるように、xmlnsやxmlns:xは名前空間を指定します。 たとえば、雰囲気を理解していただくために、 xmlns → System xmlns:x → System.Text だと思ってみてください。 ここで、xmlns:xに​http://schemas.microsoft.com/winfx/2006/xamlを紐づけて(マッピング)おりますが、 これはXAMLの既定の名前空間です。 この名前空間にある属性などを使いたい場合、例えばx:Class=...などとすることで利用できます。 このxmlns:xおよびxは、この文字に名前空間を当てはめているに過ぎません。 なので、xmlns:hoge="http://..."とマッピングしたなら、hoge:Class=...とすることで、 XAML名前空間の属性を利用することができます。 xを用いているのは、for文のカウンタをiと置くような、文法上の標準くらいのものだと思っています。 (これはそう思っているだけで、根拠はありません) 結論として、特にxでなければいけない理由はないのではないでしょうか。

  • Gab_km
  • ベストアンサー率40% (20/50)
回答No.1

>私が知りたいのはこの「xmlns」と「xmlns:x」の属性は固定ですか。 >※固定というのはURLではありません。 この質問の核とも言うべき箇所の意味が、ちょっと分かりにくいです。 「固定」っていうのは何を表しているのですか? あと、属性ってAttributeを指しているのでしょうか? それで固定というところから勝手に推理してしまいますが、 『Rootノードにあるxmlnsとxmlns:xは必ず設定しなければいけないのか?』 という意味でしょうか? そういう意味でしたら、例示されているXAMLであれば、必ず書くべきものだと思います。

j-unico
質問者

お礼

回答ありがとうございます。 回答の返事が遅くなってすみません。 解りにくい説明で申し訳ありません。 固定というのは「xmlns:x」のコロンの次に記述されている「x」です。 「Visual Studio 2008」の評価版でSilverlightのプロジェクトを作成したらデフォルトでXAMLが作成されて、XAMLのコードを見てみたらこの「xmlns:x」と記述されていたので固定なのかと思って投稿させていただきました。 試しに下記のように「x」を「y」や「a」とかに変更してみたらビルドしてもエラーになりませんでした。コロンの次に記述される文字は任意で変えてもいいのでしょうか。 初心者レベルでも理解できるようにご教授いただけませんでしょうか。 お手数をお掛けしますが宜しくお願いします。 失礼します。

関連するQ&A

専門家に質問してみよう