プロジェクトの中身を調べよう (2/6)
作成:2011-08-29 08:50
更新:2011-08-29 08:50
更新:2011-08-29 08:50
■MainPage.xamlについて
では、順番にソースコードをチェックしていくことにしましょう。まずは、アプリ作成においてもっとも重要な部品となる「MainPage」からです。
MainPageは、アプリ起動時に最初に画面に表示されるページを定義するためのものです。この表示内容については「MainPage.xaml」ファイルに記述されています。下のリスト欄に、MainPage.xamlにデフォルトで書きだされている内容を掲載しておきました。
xamlファイルは、見ればわかるようにXMLデータです。これはざっと以下のような形をしています。
<phone:PhoneApplicationPage>にはさまざまな属性が指定されています。xmlns~というものは、このXMLデータの記述に関する指定で、これは必ずこのように書きます。その後にある属性は、デフォルトの表示や設定に関するものです。MainPageは、アプリ起動時に最初に画面に表示されるページを定義するためのものです。この表示内容については「MainPage.xaml」ファイルに記述されています。下のリスト欄に、MainPage.xamlにデフォルトで書きだされている内容を掲載しておきました。
xamlファイルは、見ればわかるようにXMLデータです。これはざっと以下のような形をしています。
<phone:PhoneApplicationPage>
……表示する内容を示すタグ……
</phone:PhoneApplicationPage>
このタグ内には、実際に表示するコントロール類のタグが記述されます。ここでは、以下のようなタグが用いられています。
<Grid>タグ
これは、「グリッドレイアウト」というものを配置するタグです。これはグリッド(格子)状にコントールを配置していくためのもので、Windows Phoneのページの基本レイアウトとなっています。たいていは、この<Grid>タグ内にコントロール類が記述されることになるでしょう。
<Grid.RowDefinitions>
<RowDefinition>
これらは、グリッドレイアウト内に「行」の配置を用意するためのものです。要するに、縦に幾つかの表示エリアを分割するための定義をするものと考えて下さい。<Grid.RowDefinitions>が、行定義のためのタグです。その中にある<RowDefinition>というのが、それぞれの「行」の定義です。
ここでは、<Grid.RowDefinitions>の中に、2つの<RowDefinition>を用意しておきました。これにより、上下2つの領域が設定されることになります。このあとに用意するタグ(ここでは<Grid>と<StackPanel>というもの)が、ここで定義したそれぞれの<RowDefinition>の領域内にはめ込まれ表示されることになるわけです。つまり、
<Grid>
<Grid.RowDefinitions>
<RowDefinition ① />
<RowDefinition ② />
</Grid.RowDefinitions>
<…①にはめ込まれる内容… />
<…②にはめ込まれる内容… />
</Grid>
<StackPanel>
これは、コントロールを一列に並べて配置するためのものです。いくつかのコントロールを縦や横に並べて配置するに便利です。このタグには、Grid.Row="0"という属性がありますね。これは、その前の<Grid>タグの<RowDefinition>のゼロ番(つまり一番最初のもの)に設定することを示すものです。
<TextBlock>
テキストを表示するためのコントロールです。Styleという属性で、表示するフォントやスタイルなどを設定することができます。
――ざっと並べましたが、ここでは<Grid>タグによるレイアウトと、<TextBlock>によるテキストの表示などがわかればとりあえず十分でしょう。細かな使い方はいずれ改めて触れることもあるでしょうから、今はあんまり深く考えないでおきましょう。