我正在以编程方式创建 FlowDocument,然后将其转换为富文本,以便用户可以在富文本框中对其进行编辑。我无法弄清楚如何在 FlowDocument 中插入一条水平线,该水平线将显示在编辑框的整个宽度上(以及随后呈现的 PDF)。
我发现这个线程(据称)显示了如何在 XAML 中完全按照我的意愿行事:
和这个:
http://social.msdn.microsoft.com/forums/en-US/wpf/thread/bcd334c7-8e2b-4e59-a344-4376b30cf847/
我试图以编程方式复制它,如下所示:
Line pLine = new Line();
pLine.Stretch = Stretch.Fill;
pLine.Stroke = Brushes.Black;
pLine.X2 = 1;
para.Inlines.Add( pLine );
但是,这最终在生成的 RTF 编辑框中什么都不显示。富文本的其余部分在那里。就是根本没有线。
我还尝试创建一个表格并将我想要在水平线之后的文本插入到单元格中。然后我为表格的顶部设置了一个自定义边框。这给了我一条水平线,但它并没有一直穿过屏幕(在它转换为 RTF 并显示在 RTF 编辑框中之后),并且在我将它渲染成 PDF 后它根本不显示。
我已经采取了完全破解的方法,即插入 60 个下划线('_')字符和换行符。这“有效”,但很糟糕。谁能告诉我如何正确地做到这一点?