我正在使用MVVM模式,我的ModelView中有字符串类型属性.
该字符串可能包含以下HTML标记:
<b>, </b>, <i>, </i>
Run Code Online (Sandbox Code Playgroud)
我需要在TextBlock中将文本的某些部分设置为普通,粗体或斜体.
目前我已经创建了一个解决方法,一个帮助方法,其工作方式如下:
将HTML字符串分解为多个部分
创建Run类的实例
根据标记,设置FontWeight或FontStyle属性
将Run类的实例添加到TextBlock的Inlines集合中
此解决方案有效,但与MVVM模式不兼容.
我在考虑使用Convertors,但我不确定应该绑定哪个TextBlock属性.
您怎么看?这个问题怎么解决?
我为这个问题找到的最简单的解决方案。
就是使用BindableRichTextBox,可以在http://www.shawnduggan.com/?p=54找到
使用转换器将 HTML 字符串转换为 XAML,然后将其放入 FlowDocument 对象
将文档绑定到 BindableRichTextBox
使 RichTextBox 看起来像 TextBlock(Focusable="False"、BorderThinkness="0"、BorderBrush="White"...等)
| 归档时间: |
|
| 查看次数: |
5878 次 |
| 最近记录: |