使用RichtextBlock格式化文本

时间:2012-05-29 11:51:26

标签: xaml mvvm-light windows-8 windows-runtime winrt-xaml

小问题,在Windows8中使用RichTextBlock控件时,任何人都有一个关于不同数据格式提示的小例子 - XAML?

目前我是MVVM将RichTextBlock的Paragraph元素绑定到我的MVVM上的大文本属性。

但我想知道,我怎么能指出在哪里添加换行符,设置标题等等? 有没有任何关于这样做的好建议?

1 个答案:

答案 0 :(得分:2)

我之前从未使用过RichTextBlock,但MSDN论坛上有一个有趣的话题:http://social.msdn.microsoft.com/Forums/en-US/winappswithnativecode/thread/d215abeb-7acd-41c1-81ba-c73a0ab68785 MSFT员工解释说你应该使用Blocks property

现在,Blocks属性的类型为BlockCollection,这意味着它可以包含任何类型的块。在ViewModel中,您可以使用 HTML 字符串填充属性(包含带有标题,段落的文本,...)。然后,您应该考虑创建一个附加行为来读取HTML并创建所需的块(如 Windows.UI.Xaml.Documents.Paragraph )以最终填充Blocks属性。

请查看以下指南以创建附加行为:http://dotnet.dzone.com/articles/dragflickbehavior-windows

<RichTextBlock ...>
    <MyBehaviors:Interaction.Behaviors>
        <MyBehaviors:RichTextBehavior HtmlText="{Binding ...}"/>
    </MyBehaviors:Interaction.Behaviors>
</RichTextBlock>