繁体   English   中英

WPF Datagrid标头

[英]WPF Datagrid Headers

我正在尝试合并或格式化数据网格WPF中的标头。

例:

| 站1 | Station2 |

| 接收| 发送| 接收| 发送|

实现此目的的最简单方法是什么?

谢谢

最终做了这样的事情。 也许这对某些人可能有用,所以我把它发布了

<DataGridTemplateColumn MinWidth="180" >
    <DataGridTemplateColumn.Header>
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition/>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition/>
                <ColumnDefinition/>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>
            <TextBlock Grid.ColumnSpan="3" HorizontalAlignment="Center" Text="Loc 1"/>
            <TextBlock Grid.Column="0" Grid.Row="1" Text="Received" Width="60" TextAlignment="Center"/>
            <TextBlock Grid.Column="1" Grid.Row="1" Text="Sent"     Width="60" TextAlignment="Center"/>
            <TextBlock Grid.Column="2" Grid.Row="1" Text="Defect"   Width="60" TextAlignment="Center"/>
        </Grid>
    </DataGridTemplateColumn.Header>
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                </Grid.ColumnDefinitions>
                <TextBlock Grid.Column="0" Text="{Binding Path=Loc01_10}" MinWidth="60" TextAlignment="Right" />
                <TextBlock Grid.Column="1" Text="{Binding Path=Loc01_20}" MinWidth="60" TextAlignment="Right" />
                <TextBlock Grid.Column="2" Text="{Binding Path=Loc01_40}" MinWidth="60" TextAlignment="Right" />
            </Grid>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

您可以构建如下内容:

<DataGrid>
    <DataGrid.Columns>
        <DataGridTextColumn>
            <DataGridTextColumn.HeaderTemplate>
                <DataTemplate>
                    <StackPanel>
                        <TextBlock Text="Station1" HorizontalAlignment="Center"></TextBlock>
                        <WrapPanel>
                            <TextBlock Text="Receive" Margin="2"></TextBlock>
                            <TextBlock Text="|"  Margin="2"></TextBlock>
                            <TextBlock Text="Send"  Margin="2"></TextBlock>
                        </WrapPanel>
                    </StackPanel>
                </DataTemplate>
            </DataGridTextColumn.HeaderTemplate>
        </DataGridTextColumn>
    </DataGrid.Columns>
</DataGrid>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM