2016-04-14 41 views
0

我的WPF應用程序顯示很多在不同地方的文本片段的一個大帆布(一種職位是注意應用程序)如何加載一個WPF FormattedText對象(從RTF或RichTextBox中)

我目前呈現文本使用FormattedText對象和'直接繪製它們'到可視對象中(用於速度/效率)

我遇到的挑戰是如何加載/保存/編輯該富文本。我想使用RichTextBox來編輯文本 - 但我找不到將文本從文本框和FormattedText對象中取出的方法(或反之亦然)

任何人都知道這可能是怎麼回事實現?我唯一能想到的就是在FormattedText對象上有一些'從/從RTF序列化'的功能 - 但似乎並不存在。

感謝

+0

如何:http://www.wpfmentor.com/2009/01/how-to-transfer-rich-text -from.html – Clemens

回答

1

您可以通過所有的RichTextBox.Document內的內聯對象的迭代,獲取你感興趣的所有依賴屬性,然後將它們設置一個新的FormattedText對象。

var formattedTextToDraw = new List<FormattedText>(); 

foreach (var paragraph in RichTextBox.Document.OfType<Paragraph>()) 
{ 
    foreach(var inline in paragraph) 
    { 
     formattedTextToDraw.Add(new FormattedText(
      inline.Text, //Text 
      inline.FontSize, //Fontsize 
      inline.Foreground, //Color 
      etc....) //Other properties for FormattedText constructor 
    } 
} 
相關問題