В названии говорится все. Как применить пользовательский стиль в заголовке столбца DataGrid, сохраняя при этом значения стиля по умолчанию для свойств, которые я не переопределяю? Я уже пробовал метод, приведенный в this SO post, но он, похоже, не работает в моем случае. Мой заголовок столбца выглядит несколько иначе, чем значение по умолчанию. Вот мой XAML:Наследуйте стиль от стиля управления по умолчанию
<Style TargetType="DataGridColumnHeader" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}">
<Setter Property="BorderBrush" Value="Black" />
<Setter Property="BorderThickness" Value="0,0,1,0" />
</Style>
Вот вывод:
Как вы можете видеть, левая колонка (это имеет собственный стиль) не имеют отступов, в отличии от правого столбца, стиль по умолчанию , Любые подсказки?
(Я могу, конечно, установить прописку в моем стиле, чтобы получить внешний вид, который я хочу, мне просто нужно знать, почему он не унаследовал отступы из стиля управления по умолчанию).
Пример кода воспроизвести ошибку
<Window x:Class="Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<DataGrid AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Width="100" Header="No Padding">
<DataGridTextColumn.HeaderStyle>
<Style TargetType="DataGridColumnHeader" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}">
<Setter Property="BorderBrush" Value="Black" />
<Setter Property="BorderThickness" Value="0,0,1,0" />
</Style>
</DataGridTextColumn.HeaderStyle>
</DataGridTextColumn>
<DataGridTextColumn Width="100" Header="Padding" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
выглядит как ошибка. –
Не могли бы вы поделиться кодом xaml, который показывает, как вы применяете этот особый стиль к столбцу? – user2250152
@ user2250152: Добавлен простой пример, чтобы воспроизвести то, о чем я говорю. – dotNET