Заголовки данных WPF - PullRequest
       0

Заголовки данных WPF

0 голосов
/ 27 марта 2012

Я пытаюсь объединить или отформатировать заголовки и заголовки в сетке данных WPF.

Пример:

| Station1 | Station2 |

| Получить | Отправить | Получить | Отправить |

Какой самый простой способ достичь этого.

Thankyou

Ответы [ 2 ]

0 голосов
/ 20 ноября 2013

Закончилось делать что-то вроде этого.Может быть, это может быть полезно для некоторых из вас, поэтому я опубликовал это

<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>
0 голосов
/ 27 марта 2012

Вы можете построить что-то вроде этого:

<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>
...