Szukałem wiele godzin i po prostu nie mogę znaleźć solidnej odpowiedzi na to. Mam istniejący dokument z elementami kontroli treści, które muszę edytować tekstem z danymi zewnętrznymi. Jeśli dane dotyczące jednego z elementów sterujących nie są obecne, muszę zastąpić tekst odpowiednią uwagą i zmienić kolor czcionki.Zmiana koloru czcionki w dokumencie tekstowym OpenXML (C#)
Mam wpis tekstowy i wszystko działa dobrze, jedyną częścią, która nie wydaje się wykonywać swojej pracy jest zmiana koloru czcionki. Obecny kod, który mam nie daje mi żadnych błędów i przebiega tą metodą dobrze, ale kiedy patrzę na gotowy dokument, wciąż jest to zwykły czarny tekst.
Mój kolor zmienia sposób: (wejście znajduje się lista wszystkich kontroli treści z tego samego znacznika)
public void SetBlueText(List<SdtElement> sdtElement)
{
foreach (SdtElement element in sdtElement)
{
if (element != null)
{
RunProperties runProperties = element.Descendants<RunProperties>().FirstOrDefault();
runProperties.Color = new DocumentFormat.OpenXml.Wordprocessing.Color() { Val = "0EBFE9" };
}
}
}
także uproszczenia te dwie linie w dół po prostu to/ten sam efekt
element.Descendants<RunProperties>().FirstOrDefault().Color =
new DocumentFormat.OpenXml.Wordprocessing.Color() { Val = "0EBFE9" };