[Silverlight][基礎] XAMLの文法~まずはXMLから~

Silverlightで画面に表示するコントロールや画像といったUI情報は Extensible Application Markup Language(XAML)と呼ばれる XMLをベースとした言語を使用します。

XAMLはWPFアプリケーションのUIを作成する言語としても使われます。

HTMLやXMLを使用したことがあれば、理解しやすい言語です。


まずは、前回作成したソリューションを開き、SilverlightApplication1プロジェクトの中にある MainPage.xamlをダブルクリックしてみましょう

以下のような画面になるはずです。

MainPage.xamlを開いたときの Visual Studio

真ん中の領域は、上がデザイナで下にはそのデザインを構成してるXAMLコードが表示されます。

XAMLコードは以下のようになっています。

<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" x:Class="SilverlightApplication1.MainPage"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400">

    <Grid x:Name="LayoutRoot" Background="White">

    </Grid>
</UserControl>

上記のXAMLコードは、大きく以下の2つの要素からなります。

  • <UserControl>~</UserControl>
  • <UserControl>タグの内側にある<Grid>

とは言っても、XMLやらHTMLに触れたことのない方には敷居が高く見えてしまうと思います。

そこで、XMLから学んでいきましょう。


 XMLについて学ぶ

XMLは独自のタグを指定することができメタ言語とも呼ばれています。
情報を記述するには、要素や属性を決める必要があります。

1.タグ

XMLはタグを使ってデータを表現します。タグは要素とも呼ばれます。

タグは < と > の記号を使って表現し、開始タグと終了タグとがあります。

たとえば Personというデータをタグで表現すると、以下のようになります。

<Person>HIRO</Person>

この例では、開始タグは<Person>で終了タグは</Person>です。

終了タグは </ で始まります。

2.コンテンツ

コンテンツとは開始タグ~終了タグの間の部分です。

先ほどの例では「HIRO」の部分がコンテンツにあたります。

コンテンツは、要素を入れ子にすることもできます。

<Person>
    <Name>HIRO</Name>
</Person>

また、コンテンツを持たない要素というものもあります。

<Person />

3.属性

属性は、開始タグの中に記述する情報(データ)です。

以下はPersonにidという属性を持たせた例です。idには0001という値を持たせています。

このように、属性は名前と値のペアになります。

<Person id="0001">HIRO</Person>

属性は複数持たせることも可能です。

<Person id="0001" section="IS">HIRO</Person>

このほか、属性にはW3Cで定義されている特別な属性があります。

  • xml:lang
  • xml:space

xml:langはコンテンツの記述に使用されている言語を示すための属性です。

xml:spaceはコンテンツ中の文字列に含まれるスペースをどのように扱うかを決定するための属性です。

4.コメント

コメントは <!– から –> の間に記述します。

<!-- ここにコメントを記述します -->

5.CDATAセクション

XMLはマークアップ言語であり、XML文書を作成するために使用される記号は直接記述できないものがあります。

このようなマークアップ専用の記号を通常の文字列として扱うためには CDATAセクションを使用します。

CDATAセクションは <![CDATA [ではじまり ]]> で終わります。

例えば < という記号は開始タグに使用される文字であるため、「X < 3 」のような文字列を直接記述できません。

CDATAセクションを使用すると、以下のように直接記述することができます。

<Calc><![CDATA[ X < 3 ]]></Calc>

 

 

次回はXAMLについて説明します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください