Wpf Datagrid列标题模板化
我想用一种非常简单的方式制作一些HeaderColumn的模板,但是我没有得到我想要的结果。我希望边框填充整个标题,而不仅仅是里面的文本框。现在我仍然在自己的控件后面使用默认的灰色Wpf Datagrid列标题模板化,wpf,datagrid,Wpf,Datagrid,我想用一种非常简单的方式制作一些HeaderColumn的模板,但是我没有得到我想要的结果。我希望边框填充整个标题,而不仅仅是里面的文本框。现在我仍然在自己的控件后面使用默认的灰色 <DataGrid x:Name="grdItems" Grid.Row="0" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding Path=Items}" CanUserSort
<DataGrid x:Name="grdItems"
Grid.Row="0"
CanUserAddRows="False"
CanUserDeleteRows="False"
ItemsSource="{Binding Path=Items}"
CanUserSortColumns="False" AutoGenerateColumns="False" CanUserResizeColumns="False">
<DataGrid.Columns>
<DataGridComboBoxColumn ItemsSource="{Binding Source={StaticResource GetSignalTypeValues}}" Width="auto" SelectedValueBinding="{Binding SignalType}" >
<DataGridComboBoxColumn.HeaderTemplate>
<DataTemplate>
<Border Background="Orange" >
<TextBlock Text="Signal Type" />
</Border>
</DataTemplate>
</DataGridComboBoxColumn.HeaderTemplate>
</DataGridComboBoxColumn>
<DataGridTextColumn Width="auto" Binding="{Binding AmplitudeMax}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<Border Background="Violet">
<StackPanel>
<TextBlock Text="Amplitude" HorizontalAlignment="Center" />
<TextBlock Text="-maximum-" HorizontalAlignment="Center" />
</StackPanel>
</Border>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
如果您只使用列标题的背景色,则可以使用此选项:
<DataGridComboBoxColumn Width="auto" SelectedValueBinding="{Binding SignalType}" >
<DataGridComboBoxColumn.HeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="Background" Value="Orange"/>
</Style>
</DataGridComboBoxColumn.HeaderStyle>
基本上这就是我想要做的,但我仍然希望在列标题之间保留分隔符行。