如何在 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
- 前者设置单元格的颜色,后者设置文本背景的颜色(然后单元格的填充将具有不同的颜色).
我有一个 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
- 前者设置单元格的颜色,后者设置文本背景的颜色(然后单元格的填充将具有不同的颜色).