Вы говорите, что данные поступают непосредственно из источника данных; Можно ли разместить слой абстракции перед ним? Весьма распространено создавать представление для того, что вы отображаете, и чтобы представление связывалось с данными. Наиболее распространенной реализацией этой идеи является Model View View-Model (MVVM). Прочитайте об этом онлайн.
Возможно, у вас есть свойство 'DisplayText', которое связано с текстовым полем, и это просто 'getter', который оборачивает основной текст. Он может обнаружить, если текст уже обернут, а если нет, обернуть его.
Например.
public class TestView {
private Test datasource;
public TestView(Test source)
{
this.datasource = source;
}
public string DisplayText {
get {
if (datasource.Text.Contains("<bold>")==false) {
return "<bold>" + datasource.Text + "</bold>";
}
return datasource.Text;
}
}
}
Затем привязывайте к представлению, а не непосредственно к объекту.