C#WPF datagrid-自动上的间距与列

C#WPF datagrid-自动上的间距与列,c#,wpf,datagrid,spacing,C#,Wpf,Datagrid,Spacing,我有一个带有列的数据网格。每列都具有自动宽度(取决于内容)。我的问题是我希望每列之间有一个间距(填充?) 我试图通过以下代码实现这一点: <Style TargetType="{x:Type DataGridCell}"> <Setter Property="Padding" Value="0 0 20 0"/> <Setter Property="Template"> <

我有一个带有列的数据网格。每列都具有自动宽度(取决于内容)。我的问题是我希望每列之间有一个间距(填充?)

我试图通过以下代码实现这一点:

 <Style TargetType="{x:Type DataGridCell}">
            <Setter Property="Padding" Value="0 0 20 0"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type DataGridCell}">
                        <Border Padding="{TemplateBinding Padding}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
                            <ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

它基本上可以工作,但如果我选择一个单元格,20px(填充)不会被选中(这只是一个设计问题)


它看起来不太漂亮。有什么想法吗

尝试为每列添加样式并在其中定义填充。类似于
Style=“{StaticResource InfoNameTextBlock}”
在课堂上保持你的风格

<Style TargetType="yourType" x:Key="InfoNameTextBlock">
    <Setter Property="Padding" Value="5,0"/>
</Style>

IMHO,这很正常,这是我在Datagrid上观察到的,我不改变模板:有一些填充未被选择。当做