我有一个带占位符的本地化字符串:
Verb {0}
我在我的视图模型中使用此字符串将字符串返回到我的视图,而该视图又显示在TextBlock
中。很容易。但是出现了一个新的要求,即“动词”部分(除了占位符的插入值之外的所有部分)都以粗体显示。
使用带占位符的字符串似乎是表示单词顺序的典型且最简单的方法。因此,第一个问题是:我应该在哪里解析本地化字符串以添加粗体格式?解析操作需要知道原始占位符的位置。到目前为止,视图模型一直负责通过使用string.Format
插入值并将其结果返回到视图来利用本地化字符串。如果我将这个职责留在视图模型中,那么视图模型也需要返回富文本。
是否绑定到RichTextBlock
甚至支持的富文本?即使它受到支持,我也从来没有使用过视图模型返回格式化文本。它最初对于MVVM主义的追随者来说是亵渎神灵,但也许经过进一步的考虑我可能会觉得它是可以接受的。
将粗体格式添加到具有占位符的本地化字符串的最佳方法是什么?从视图模型返回富文本是最好的方法吗?