FlexGrid では、行の詳細テンプレートを使用して各行に関する情報を柔軟に表示できます。行の詳細テンプレートは、詳細を表示するために各行に追加できるデータパネルです。テキスト、UI 要素、InputPanel などのデータ連結コントロールを行詳細テンプレートに埋め込むことができます。行ごとに、行のサマリーを表示するデータテンプレートを挿入し、グリッドのサイズに影響することなくテキストボックスなどの他のコントロールで詳細を表示/提供することができます。このテンプレートを使用して、グループ化されたデータを表示する階層グリッドを作成することもできます。
次の図に、行詳細テンプレートから表示される各行の詳細を示します。
XAML |
コードのコピー
|
---|---|
<FlexGrid:C1FlexGrid.Columns> <FlexGrid:Column Header="Product ID" Binding="{Binding ProductId}" Width="75" /> <FlexGrid:Column Header="Product Name" Binding="{Binding ProductName}" Width="150" /> <FlexGrid:Column Header="Order Date" Binding="{Binding OrderDate}" Width="300" /> </FlexGrid:C1FlexGrid.Columns> |
XAML |
コードのコピー
|
---|---|
<FlexGrid:C1FlexGrid.RowDetailsTemplate> <DataTemplate> <StackPanel Background="GhostWhite"> <Image HorizontalAlignment="Left" Name="img" Source="{Binding ImgSource}" Height="64" Margin="10" /> <Grid Margin="0, 10"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <TextBlock Text="Product ID: " FontWeight="Bold" /> <TextBlock Text="{Binding ProductId}" Grid.Column="1" /> <TextBlock Text="Product Name: " FontWeight="Bold" Grid.Row="1" /> <TextBlock Text="{Binding ProductName}" Grid.Column="1" Grid.Row="1" /> <TextBlock Text="Order Date: " FontWeight="Bold" Grid.Row="2" /> <TextBlock Text="{Binding OrderDate}" Grid.Column="1" Grid.Row="2" /> </Grid> </StackPanel> </DataTemplate> </FlexGrid:C1FlexGrid.RowDetailsTemplate> |