Почти 5 лет спустя, так как этот вопрос, кажется, все еще полезен (он все еще получает голоса) и так как он был запрошен, вот решение, которое я использовал (с ElementStyle) для TextColumn (но вы можете сделатьто же самое для любого типа DataGridColumn):
Я сделал все это в следующем коде:
class MyTextColumn : DataGridTextColumn
{
public MyTextColumn()
{
ElementStyle = new Style(typeof(TextBlock));
EditingElementStyle = new Style(typeof(TextBox));
ElementStyle.Setters.Add(new Setter(FrameworkElement.MarginProperty, new Thickness(3)));
EditingElementStyle.Setters.Add(new Setter(Control.PaddingProperty, new Thickness(0, 1, 0, 1)));
}
}
Но если вы хотите сделать это непосредственно в xaml:
<DataGrid.Columns>
<DataGridTextColumn>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Margin" Value="3"/>
</Style>
</DataGridTextColumn.ElementStyle>
<DataGridTextColumn.EditingElementStyle>
<Style TargetType="TextBox">
<Setter Property="Padding" Value="0 1 0 1"/>
</Style>
</DataGridTextColumn.EditingElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>