画像のような形式のヘッダーが必要です (1 行目に INWARD、2 行目に総重量、純重量 & 数量)。XAML で次のコードを使用して同じことを達成できますが、プログラムでこれを行うにはどうすればよいですか?
XAML:
<dg:DataGrid>
<dg:DataGridTemplateColumn Width="210">
<dg:DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0"
Text="INWARD"
TextAlignment="Center">
</TextBlock>
<StackPanel Grid.Row="1" Orientation="Horizontal">
<TextBlock Width="80"
Text="Gross Weight"
TextAlignment="Right"
Margin="0,0,2,0">
</TextBlock>
<TextBlock Width="80"
Text="Pure Weight"
TextAlignment="Right"
Margin="0,0,0,0">
</TextBlock>
<TextBlock Width="40"
Text="Quantity"
TextAlignment="Right"
Margin="2,0,0,0">
</TextBlock>
</StackPanel>
</Grid>
</DataTemplate>
</dg:DataGridTemplateColumn.HeaderTemplate>
<dg:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" >
<TextBlock Style="{DynamicResource grdCellCurrencyData}"
Width="80"
Margin="0,0,2,0">
<TextBlock.Text>
<MultiBinding Converter="{StaticResource CurrencyConverter}" ConverterParameter="True">
<Binding Path="INGrossWeight" Mode="OneWay" />
<Binding Path="BaseUOMNoofDecimals" Mode="OneWay" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
<TextBlock Style="{DynamicResource grdCellCurrencyData}"
Width="80"
Margin="0,0,0 0">
<TextBlock.Text>
<MultiBinding Converter="{StaticResource CurrencyConverter}" ConverterParameter="True">
<Binding Path="INPureWeight" Mode="OneWay" />
<Binding Path="BaseUOMNoofDecimals" Mode="OneWay" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
<TextBlock Style="{DynamicResource grdCellCurrencyData}"
Width="40"
Text="{Binding Path=INQuantity, Mode=OneWay}" Margin="2,0,0,0">
</TextBlock>
</StackPanel>
</DataTemplate>
</dg:DataGridTemplateColumn.CellTemplate>
</dg:DataGridTemplateColumn>
</dg:DataGrid>
上記のコードではDataGridTemplateColumn
、グリッドを内側に取り、ヘッダーを 2 行に分割しています。コードビハインドからプログラムでやりたいのと同じ方法。誰でも助けることができますか?