2

好的,所以我有一个 RichTextBox 用户控件,用户可以在其中输入任意数量的富文本元素,然后将内容转换为 HTML。目前,我正在专门处理表格。在大多数情况下,它们很容易工作,但是当我尝试将 RTF 保存到文件中然后再次加载时,\trautofit1控制字会消失并且表格宽度会减小。

为了保存到 RTF 文件,我正在使用:TextRange.Save(fileStream, DataFormats.Rtf); 我很确定问题出在 RTF 的保存方式上,因为由此产生的文件也有缩小的表。

这是保存前的表格:好表

这是保存和加载后的表格:坏表

所以问题是:有什么方法可以对抗这种行为,还是有更好的方法来获取 RTF,或者我应该使用不同的控制字来自动调整表格的宽度?

4

2 回答 2

0

好的,我找到了一个解决方案,但这并不是我想要的。决定走这条路的原因是 Word 就是这样做的。当你去创建表格时,我找到了 RichTextBox 的大小,然后将它除以列数,然后我明确地设置了每列的宽度\cellx。不是我正在寻找的漂亮解决方案,但它有效。

于 2013-07-18T13:45:59.767 回答
0

我使用了另一种 hack 解决方案,在保存数据之前我更改了列宽:

if (table != null && table.Columns.Count == 2)
{
    table.Columns[0].Width = new GridLength(200);
    table.Columns[1].Width = new GridLength(200);
    document.Blocks.Add(table);
}
于 2014-12-17T13:33:17.707 回答