如何在 MigraDoc 中设置单元格的背景颜色 Table

How to Set the Background Color of a Cell in a MigraDoc Table

我有一个 MigraDoc table,我在其中指定了 0.75 厘米的行高,文本在单元格中间垂直对齐。当我将 cell.Format.Shading.Color 设置为非白色时,边框附近仍有一部分单元格在所有四个边周围显示为白色。

我发现我可以通过设置 column.LeftPadding = 0 和 column.RightPadding = 0 来去除文本左右的白色部分。但是,我不知道如何得到白色文本 top/bottom 处的条纹消失而不影响文本的垂直对齐。如果我将段落行高更改为 0.75 厘米,条纹就会消失,但文本会在单元格内底部对齐。我无法设置列底纹颜色,因为列中的每个单元格都包含不同的颜色。有谁知道强制段落垂直填充单元格的方法(或以其他方式使背景颜色在单元格内统一)?

这是我的代码示例(在 C# 中),其中 table 的类型为 MigraDoc.DocumentObjectModel.Tables.Table:

...

// Add a column at index #2
var column = table.AddColumn();
column.LeftPadding  = 0;
column.RightPadding = 0;

// Add more columns
... 

// Iterate through the data printed in each row
foreach (var rowData in myData)
{
    // Create a row for the data
    var row = table.AddRow();
    row.Height = ".75cm";
    row.Format.Font.Size = 11;
    row.VerticalAlignment = VerticalAlignment.Center;

    ...

    // The following is for illustrative purposes... the actual
    //     colors and text is determined by the data within the cell
    var cell = row.Cells[2];
    cell.Format.Shading.Color = Colors.Black;
    cell.Format.Font.Color    = Colors.White;
    var paragraph = cell.AddParagraph("Example");

    ...
}

尝试 cell.Shading.Color 而不是 cell.Format.Shading.Color - 前者设置单元格的颜色,后者设置文本背景的颜色(然后单元格的填充将具有不同的颜色).