【问题标题】:Migradoc real table cell paddingMigradoc 真实表格单元格填充
【发布时间】:2017-03-16 11:19:46
【问题描述】:

有没有办法为 migradoc 表格单元格添加真正的填充?他们当前拥有的选项(LeftPadding 和 RightPadding)实际上像边距而不像填充一样工作。如果你使用它,它还会推送背景颜色,而不是只推送内容。

当您将“填充”添加到整行或单个单元格(将其添加到第一行)时会发生这种情况:

默认情况下是这样的:

如果您希望删除列之间的空白,您似乎必须通过将这些填充属性设置为 0 来做到这一点,然后您会得到:

..这几乎是我想要的,但我想将单元格的内容从所有 4 个侧面推向单元格的中心,使其看起来像这样并且有一点空间可以“呼吸” :

很久以前甚至asked on their forums关于这是否可以做到,但答案根本没有解决问题。它只是提到了填充属性,其工作方式与该线程中的 OP 所要求的完全相反(这与我想做的事情相同)。

我正在使用 PDFsharp-MigraDoc-gdi v1.50.4000-beta3b nuget 包。

有什么办法可以破解这种奇怪的行为?谢谢。

编辑:更新了我使用的一段代码,并添加了 PDFsharp 新手推荐的代码

var table = new Table();
var columnCount = 4;

for (int i = 0; i < columnCount; i++)
{
    table.AddColumn();
}

var hedingRow= table.AddRow();
hedingRow.Format.Font.Bold = true;
hedingRow.Format.Font.Color = Color.Parse("0xFFFFFFFF");
hedingRow.Format.Shading.Color = Color.Parse("0xFF005aa0");
hedingRow.HeadingFormat = true;
hedingRow.Cells[0].AddParagraph("Field");
hedingRow.Cells[1].AddParagraph("Type");
hedingRow.Cells[2].AddParagraph("Default");
hedingRow.Cells[3].AddParagraph(String.Empty);

// Doesn't work as I would assume it should based on PDFsharp Novice
hedingRow.Cells[0].Format.LeftIndent = 4;
hedingRow.Cells[0].Format.RightIndent = 4;
hedingRow.Cells[0].Format.Shading.Color = Color.Parse("0xFF005aa0");

【问题讨论】:

    标签: c# pdfsharp migradoc


    【解决方案1】:

    您可以为单元格和/或单元格中的文本设置背景颜色。

    如果为单元格设置颜色,填充区域也会有颜色。

    如果只设置文本的颜色,填充区域将没有颜色。

    【讨论】:

    • 我尝试了你的建议,但仍然没有得到想要的结果。我用代码示例更新了我的问题,你能告诉我我做错了什么吗?谢谢。
    • 跳过适用于文本的Format。尝试hedingRow.Shading.Color = Color.Parse("0xFF005aa0");hedingRow.Cells[0].Shading.Color = Color.Parse("0xFF005aa0"); 设置行或单元格的颜色(包括填充)。
    • 太好了,它修复了它。不知道我是怎么错过的。非常感谢。 :) 干杯!
    猜你喜欢
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-12
    • 1970-01-01
    相关资源
    最近更新 更多