【发布时间】:2022-09-28 21:26:10
【问题描述】:
我试图在 RichTextBlock 中显示一些表格数据。 数据中包含多行文本,文本中包含多个空格。 我将每一行作为运行对象添加到段落中。
string[] lines = tableData;
Paragraph para = this.TextContent.Blocks.First() as Paragraph;
para.Inlines.Add(new LineBreak());
para.Inlines.Add(new LineBreak());
para.Inlines.Add(new LineBreak());
para.Inlines.Add(new LineBreak());
for (int l = 0; l < lines.Length; l++)
{
Run r = new Run()
{
Text = lines[l],
FontSize = 9,
};
para.Inlines.Add(r);
para.Inlines.Add(new LineBreak());
}
RichTextBlock 正在替换多个空格并保留一个,如此处所示 Notepad++ 中的输入文本如下所示(启用特殊字符以突出显示空格)
我在 Paragraph 或 Run 类中找不到任何属性来避免这种情况。
我错过了什么让 RichTextBlock 像这样显示在 Notedpadd++ 中显示的确切文本?
谢谢
-
问题不是缺少空格,而是 Notepad++ 以等宽字体显示数据(所有字符具有相同的宽度),但
RichTextBlock使用比例字体显示数据(其中字符可以有不同的宽度)。 -
谢谢你,@LukeWoodward。请将此移至答案部分,我会标记它。顺便问一下,有没有什么方法可以在 UWP RichTextBlock 中创建这样的表格进行打印?当我使用 Toolkit 中的 DataGrid 时,行包含在带有滚动条的网格中,因此不会溢出以创建多页打印。
-
我现在已按要求添加了答案。请就如何让您的表格在多个页面上成功打印提出单独的问题。
标签: wpf uwp richtextblock