リスト系コントロール
リスト系コントロールは、複数のデータを一覧表示するためのコントロールです。
画面に収まるように表示する個数を調整し、収まらない場合はスクロールを表示してくれるので複数のデータを表示する際に重宝します。
リスト表示を行うコントロールには、GridViewとListViewがあります。
Windowsストアアプリケーションでは、リスト表示を行うためにデータの集合(コレクション)をデータバインドする場面がよく見受けられます。例えば、コレクションの処理、データバインディング、そして一つ一つのデータを表示するスタイル=データテンプレートです。そのため、リスト系コントロールを利用するには、マスターすべき概念がたくさんあります。
リスト系の処理については後日しっかり解説しようと思います。
GridView
GridViewは、グリッド(格子)状にデータの集合を表示できるコントロールです。
表示するそれぞれのデータは、DataTemplateで定義します。
以下のコードは、実際にストアに公開されているアプリのソースコードの一部です。GridViewタグの子要素としてDataTemplateを定義しています。このDataTemplateの中身が、一つ一つのデータを表示するコントロールのレイアウトを示しています。
<GridView
Grid.Row="3"
ItemsSource="{Binding Path=products}"
SelectionMode="None"
IsItemClickEnabled="True"
ItemClick="productItemClick" Margin="100,0,0,0"
>
<GridView.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Left" Width="212" Height="220">
<Grid.Background>
<ImageBrush ImageSource="../Assets/bg/itemListBg.gif"/>
</Grid.Background>
<Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Margin="8">
<Image Source="{Binding image}" Stretch="UniformToFill" ImageOpened="imageOpened"/>
</Border>
ListView
ListViewは、GridViewと同じくデータのコレクションを表示するコントロールです。GridVeiwと違い、データを縦に一列に表示することができます。
このためListViewは、スナップ状態で細長く表示されているときに、縦にスクロールしながらデータを表示するのに適しています。
XAMLを用いたWindowsストアアプリケーションではList系のコントロールは入門者にとって習得が難しいコントロールのトップクラスだと思っています。
リスト表示するデータはコレクションをバインドする必要があり、リストの一つ1つはテンプレートで定義する必要があります。逆に言うと、リスト系のコントロールを使いこなせればXAML入門者卒業といえると思います。

