Выделение шрифта C # OpenXML выборочным жирным шрифтом

#c# #fonts #ms-word #openxml

#c# #шрифты #ms-word #openxml

Вопрос:

У меня есть функция, которая принимает пару параметров шрифта и создает требуемый шрифт в классе RunProperties. Как я могу включить / выключить класс Bold? MSDN был довольно бесполезен в этой проблеме.

 public RunProperties getRCFont(int size, string color = "000000", string font = "Futura Bk BT", bool bld = false, bool und = false) {

    return new RunProperties(new Bold() { Val = bld ? OnOffOnlyValues.On : OnOffOnlyValues.Off });

}
  

Это не работает, выдает эту ошибку:

Ошибка 1 Не удается неявно преобразовать тип ‘DocumentFormat.OpenXML.Обработка текста.OnOffOnlyЗначит’ to ‘Формат документа.OpenXML.OnOffValue’

Но класс OnOffValue не имеет свойств!!

PS: Класс подчеркивания имеет класс UnderlineValues, но не для класса Bold (такого как BoldValues), бах.

Редактировать — Мне жаль, что я это понял. Для всех, кого интересует решение:

 return new RunProperties(new Bold() { Val = bld ? new OnOffValue { Value = true } : new OnOffValue { Value = false } });
  

Ответ №1:

 RunProperties(new Bold() { Val = bld ? new OnOffValue { Value = true } : new OnOffValue { Value = false } });
  

Комментарии:

1. Другой (более короткий) способ написать это: RunProperties(new Bold() { Val = OnOffValue. Из Boolean(bld) } );

Ответ №2:

Вы можете возобновить строку с помощью bld вместо использования оператора «?:»

RunProperties(new Bold() { Val = новое значение OnOffValue { Value = bld } });