我想在客户端 WPF 应用程序中显示一些格式化的文本,用户可以选择并复制到 word 中。
它需要由应用程序轻松创建,其中最大的格式是一个表格,其中一些单元格是右对齐的。
在这里最好使用什么?富文本控件很难填充(我认为),而 html 也不容易显示,不是吗?
我想在客户端 WPF 应用程序中显示一些格式化的文本,用户可以选择并复制到 word 中。
它需要由应用程序轻松创建,其中最大的格式是一个表格,其中一些单元格是右对齐的。
在这里最好使用什么?富文本控件很难填充(我认为),而 html 也不容易显示,不是吗?
很确定 RichTextBox 应该是您的答案。
您将拥有一个RichTextBox,其中包含一个FlowDocument,其中包含您的Tables。
从第一篇文章开始:
RichTextBox 控件使您能够显示或编辑流内容,包括段落、图像、表格等。本主题介绍 TextBox 类并提供如何在可扩展应用程序标记语言 (XAML) 和 C# 中使用它的示例。
<RichTextBox>
<FlowDocument>
<Table>
<TableRowGroup>
<TableRow>
<TableCell>
<!-- One or more Block-derived object… -->
</TableCell>
</TableRow>
</TableRowGroup>
</Table>
</FlowDocument>
</RichTextBox>
从 RichTextBox 复制内容时,会将其视为标准 RTF,因此 Word 将识别大部分(如果不是全部)格式。
有趣的想法:FlowDocuments 与 Windows 7/Vista 可以本地打印的 XPS 文件格式密切相关。Silverlight/WPF/XPS 和在某种程度上甚至 Word 2007 docx 文件之间有大量的互操作性。
我什至隐约记得在 Visual Studio 的 WPF 设计器中编辑 XPS 文件——尽管不要引用我的话,因为那是几年前的事了,我不记得我到底做了什么。