|
図5:要素内にTransitionEffectElementShow を取り込む |
<Grid x:Name="LayoutRoot" Background="White">
<local:TransitionEffectElementShow/>
</Grid>
のように記述します。するとデザイン画面内にListBoxコントロールに画像が取り込まれて表示されます。表示されない場合は、「ソリューションのビルド」を実行してみてください。それでも表示されない場合は、コードが間違っているということですので、確認します。
「デバッグ(D)/デバッグ開始(S)」で実行して動作を確認しておきましょう。
これでListBoxの設定は一応完了です、次にTransitionEffectElementShow.xaml内にDataPagerとDataGridコントロールを配置します。そこで、先にTransitionEffectElementShow.xaml内に配置した、ListBoxコントロールのOpacityプロパティに0を指定して透明化しておきます。透明化しても画面上では薄いグレーの枠線は表示されたままになります。
DataPagerとDataGridコントロールの設定
DataPagerとDataGridコントロールはStackPanelコントロールの子要素として配置します。各コントロールのx:Nameは図6を参照してください。StackPanelコントロールを配置し、OrientationプロパティにVertical(デフォルト)を指定します。その中にツールボックスからDataPagerとDataGridコントロールをドラッグ&ドロップします(図6)。
|
図6:StackPanelコントロール内にDataPagerとDataGridコントロールを配置する(クリックで拡大) |
書き出されるコードはリスト6のようになります。
リスト6 書き出されたコード(TransitionEffectElementShow.xaml)
(1)<StackPanel> 要素内に<sdk:DataPager>と<sdk:DataGrid>要素が記述されています。<StackPanel>要素のOrientationプロパティは、デフォルトのVerticalを指定しているため記述はされていません。
<Canvas x:Name="LayoutRoot" Background="White">
<ListBox Height="443" HorizontalAlignment="Left" x:Name="Image_ListBox" VerticalAlignment="Top" Width="647" ItemsPanel="{StaticResource WrapPanelListBox}" ItemTemplate="{StaticResource ListBoxItemTemplate}" Opacity="0" />
<StackPanel Height="441" HorizontalAlignment="Left" x:Name="DataGrid_StackPanel" VerticalAlignment="Top" Width="644">■(1)
<sdk:DataPager Height="34" x:Name="DataPager1" PageSize="5" Width="570"/>
<sdk:DataGrid AutoGenerateColumns="False" Height="359" x:Name="PersonalInfo_DataGrid" Width="571" />
</StackPanel>
</Canvas>
次にDataGridを選択し、プロパティの[共通]内のColumnsの横にある[…]ボタンをクリックします。「コレクションエディター」が起動しますので、「項目の選択(S)」からDataGridTextColumnを選択し、[追加(A)]ボタンで4個追加します。追加したDataGridTextColumnの、[共通]を展開して表示されるHeaderプロパティに、DataGridTextColumnの上から順番に「氏名、年齢、住所、勤務先」と指定します(図7)。
|
図7:「コレクションエディター」からDataGridTextColumnを追加し、Headerプロパティを設定した(クリックで拡大) |
図8のようにDataGridコントロールにヘッダが表示されます。書き出されるXAMLには不要なプロパティが追加されますので、最終的にはBindingプロパティを指定して、リスト7のようなコードにしてください。Bindingプロパティに指定する名称は、VBコード内のクラス内で定義するプロパティ名と同じである必要があります。
|
図8:DataGridコントロールにヘッダが表示された(クリックで拡大) |
リスト7 書き出され編集したXAMLコード(TransitionEffectElementShow.xaml)
(1)<sdk:DataGridTextColumn>要素のBindingプロパティに、「氏名、年齢、住所、勤務先」を指定します。これらは手動で設定しています。
<Canvas x:Name="LayoutRoot" Background="White">
<ListBox Height="443" HorizontalAlignment="Left" x:Name="Image_ListBox" VerticalAlignment="Top" Width="647" ItemsPanel="{StaticResource WrapPanelListBox}" ItemTemplate="{StaticResource ListBoxItemTemplate}" Opacity="0" />
<StackPanel Height="441" HorizontalAlignment="Left" x:Name="DataGrid_StackPanel" VerticalAlignment="Top" Width="644">
<sdk:DataPager Height="34" x:Name="DataPager1" PageSize="5" Width="570"/>
<sdk:DataGrid AutoGenerateColumns="False" Height="359" x:Name="PersonalInfo_DataGrid" Width="571">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn CanUserSort="True" Header="氏名" Width="Auto" Binding="{Binding 氏名}"/>■(1)
<sdk:DataGridTextColumn CanUserSort="True" Header="年齢" Width="Auto" Binding="{Binding 年齢}"/>■(1)
<sdk:DataGridTextColumn CanUserSort="True" Header="住所" Width="Auto" Binding="{Binding 住所}"/>■(1)
<sdk:DataGridTextColumn CanUserSort="True" Header="勤務先" Width="Auto" Binding="{Binding 勤務先}"/>■(1)
</sdk:DataGrid.Columns>
</sdk:DataGrid>
</StackPanel>
</Canvas>
DataGridコントロールを選択し、HeightプロパティにAutoを指定します。デザイン画面上ではヘッダだけのDataGridが表示されます。