C#WPF数据网格-autowith列上的间距

本文关键字:-autowith 数据 数据网 网格 C#WPF | 更新日期: 2023-09-27 18:20:14

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

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

 <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(填充)(这只是一个设计问题)。

它看起来并不是很漂亮。有什么想法吗?

C#WPF数据网格-autowith列上的间距

尝试将Style添加到每一列并在其中定义填充。类似Style="{StaticResource InfoNameTextBlock}"在你保持风格的课堂上

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