Проверьте, выделен ли шрифт MigraDoc в строке полужирным шрифтом или нет

У меня есть таблица MigraDoc с несколькими строками. Я пытаюсь найти, выделена ли конкретная строка жирным шрифтом или нет

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

Идея состоит в том, чтобы изменить цвет этой строки на определенный.


person makdu    schedule 29.08.2018    source источник


Ответы (1)


Существует много способов установить атрибуты шрифта с помощью MigraDoc. Что вы хотите, чтобы произошло, если некоторые столбцы выделены жирным шрифтом, а некоторые нет? Или если некоторые столбцы содержат как полужирный, так и обычный текст?

Чистым подходом было бы определение цвета строки при добавлении к ней содержимого. Каждый элемент документа MigraDoc имеет Tag элемент типа object, который вы можете использовать для своих целей. При заполнении строки вы можете установить цвет напрямую. Или вы можете использовать элемент тега, чтобы пометить строку как «важную» и установить цвета для важных строк на более позднем этапе.

Непроверенный код, который может сработать — и, поскольку есть несколько способов сделать текст жирным, это сработает только в том случае, если код, заполняющий строки, также устанавливает для свойства Bold значение true:

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

Вышеупомянутое не будет работать, если строка выделена жирным шрифтом, но жирность исходит из Style или задается через свойства абзаца.
ИМХО использование члена Tag - более чистый способ.

person I liked the old Stack Overflow    schedule 29.08.2018