好的,我有一个RichTextBox用户控件,用户可以在其中输入任意数量的Rich Text元素,然后将内容转换为HTML。目前,我正在专门研究表格。在大多数情况下,它们很容易工作,但是当我尝试将RTF保存到文件然后再次加载时,\trautofit1
控制字消失,表格宽度减小。
要保存到RTF文件,我正在使用:TextRange.Save(fileStream, DataFormats.Rtf);
我很确定问题是如何保存RTF的,因为由此产生的文件也有缩小的表格。
以下是保存前的表格:
以下是保存和加载后的表:
所以问题:是否有反击这种行为的方法,或者是否有更好的方法来获取RTF,或者我应该使用不同的控制字来自动调整表的宽度?
答案 0 :(得分:0)
好的,我找到了一个解决方案,但这并不是我想要的。决定走这条路的原因是,这就是Word的做法。当你去创建表时,我找到RichTextBox的大小,然后除以列数,然后我用\cellx
显式设置每列的宽度。不是我想要的漂亮解决方案,但它确实有效。
答案 1 :(得分:0)
我使用了另一个黑客解决方案,在保存数据之前我改变了列宽:
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);
}