C# WPF 数据表格 - 自动宽度列的间距

3

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

我尝试使用以下代码来实现这个目标:

 <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>

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

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


1
在我看来,这很正常。这是我在一个没有更改模板的Datagrid上观察到的:有一些未被选择的填充。问候。 - Emmanuel DURIN
1个回答

0
尝试为每一列添加样式并在其中定义填充。类似于Style="{StaticResource InfoNameTextBlock}",并在保存样式的类中使用。
<Style TargetType="yourType" x:Key="InfoNameTextBlock">
    <Setter Property="Padding" Value="5,0"/>
</Style>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接