xaml - 使用 RichtextBlock 格式化文本

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

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

目前,我正在 MVVM 中将 RichTextBlock 的段落元素绑定(bind)到我的 MVVM 上的大文本属性。

但我想知道,如何指示在哪里添加换行符、设置标题等...? 有人对此有什么好的建议吗?

最佳答案

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

现在,Blocks 属性属于 BlockCollection 类型,这意味着它可以容纳任何类型的 block 。在您的 ViewModel 中,您可以使用 HTML 字符串填充该属性(包含带有标题、段落等的文本)。然后,您应该考虑创建一个附加行为来读取 HTML 并创建所需的 block (如 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>

关于xaml - 使用 RichtextBlock 格式化文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10798566/

相关文章:

c# - 使用 MVVM 以编程方式创建 XAML Canvas

c# - WPF/XAML 如何指定从中加载资源的程序集?

xaml - 如何在XAML中引用图标资源文件引用

c# - 在 ViewModel 定位器中使用 SimpleIOC 注册 WCF 服务客户端时无法提供端点地址

windows-8 - 您可以构建一个启动网站而不是 Metro 应用程序的 Windows 8 Live Tile 吗?

.net - XAML 性能 : Set alpha channel of a brush vs. FrameworkElement 的不透明度

wpf - 枢轴控制 MVVM-Light-EventToCommand SelectedIndex 发送上一个索引

silverlight - ItemsControl 中的 MVVM Light 命令

permissions - 如何保存 StorageFile 以供以后使用?

xaml - 两种纵横比的两种布局 (4 :3 and 16:9) - changing automatically