XAML DataGrid 列边框

pb_*_*KAT 3 wpf xaml datagrid

我有一个包含 21 列的 DataGrid,其中第一列包含日期,其他 20 列是货币值,即数字的格式必须与 2 个小数位右对齐。从逻辑上讲,总是三列、三列和一列属于在一起,所以我想要实现的是网格线不可见,但每隔三列应该在右侧有一个垂直边框。

有任何提示如何实现这一目标吗?

mm8*_*mm8 5

在 XAML 标记中显式定义所有列,并为每第三列定义一个 CellStyle,用于设置 DataGridCell 的 BorderBrush 和 BorderThickness。像这样的东西:

<DataGrid GridLinesVisibility="None" AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding First}" />
        <DataGridTextColumn Binding="{Binding Second}" />
        <DataGridTextColumn Binding="{Binding Third}">
            <DataGridTextColumn.CellStyle>
                <Style TargetType="DataGridCell">
                    <Setter Property="BorderBrush" Value="Red" />
                    <Setter Property="BorderThickness" Value="0 0 1 0" />
                </Style>
            </DataGridTextColumn.CellStyle>
        </DataGridTextColumn>
    </DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)