首页 > 解决方案 > 检查一行的 MigraDoc 字体是否为粗体

问题描述

我有一个多行的 MigraDoc 表。我正在尝试查找特定行是否为粗体

   if(table.Rows[0].Font.bold ==font.bold)
   {
    Do Something
    }

想法是将该行的颜色更改为特定的颜色。

标签: migradoc

解决方案


使用 MigraDoc 设置字体属性的方法有很多。如果有些列是粗体而有些不是,你想发生什么?或者如果某些列同时包含粗体和常规文本?

干净的方法是在向行添加内容时确定行的颜色。每个 MigraDoc 文档元素都有一个Tag类型的成员object,您可以将其用于您自己的目的。填充行时,您可以直接设置颜色。或者您可以使用 Tag 成员将行标记为“重要”,并在稍后阶段为重要行设置颜色。

可能工作的未经测试的代码 - 由于有多种方法可以使文本变为粗体,因此只有在填充行的代码也将Bold属性设置为 true 时才会工作:

if (table.Rows[0].Format.Font.Bold == true)
{
    Do Something
}

如果一行是“粗体”,上述方法将不起作用,但粗体来自 a Styleor 是通过段落属性设置的。
恕我直言,使用Tag会员是一种更清洁的方式。


推荐阅读