簡體   English   中英

從RichTextBox保存RTF時丟失表格寬度自動調整大小

[英]Losing table width autosize when saving RTF from RichTextBox

好的,所以我有一個RichTextBox用戶控件,用戶可以在其中輸入任意數量的Rich Text元素,然后將內容轉換為HTML。 目前,我正在專門處理表。 在大多數情況下,它們很容易工作,但是當我嘗試將RTF保存到文件然后再次加載時, \\trautofit1控制字消失,表寬度減小。

要保存到RTF文件,我使用: TextRange.Save(fileStream, DataFormats.Rtf); 我很確定問題與RTF的保存方式有關,因為由此產生的文件也具有縮小的表。

這是保存之前的表: 好表

這是保存和加載后的表: 壞表

那么問題來了: 是否有任何方法可以解決此問題,或者有更好的方法來獲取RTF,還是應該使用其他控制字來自動調整表格的寬度?

好的,我找到了解決方案,但這並不是我一直在尋找的解決方案。 之所以決定走這條路,是因為Word就是這樣做的。 當您創建表時,我會找到RichTextBox的大小,然后將其除以列數,然后使用\\cellx顯式設置每列的寬度。 不是我想要的漂亮解決方案,但是它可以工作。

我使用了另一種黑客解決方案,在保存數據之前,我更改了列寬:

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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM