2012-02-22 85 views
1

我有一些正在從數據庫中讀入的文本。此文本是xaml節對象的字符串表示形式。本文將根據組合框的選擇而有所不同。下面是一些文本的例子:使用字符串創建流文檔

<Section xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xml:space="preserve" TextAlignment="Left" LineHeight="Auto" IsHyphenationEnabled="False" xml:lang="en-us" FlowDirection="LeftToRight" NumberSubstitution.CultureSource="User" NumberSubstitution.Substitution="AsCulture" FontFamily="Verdana" FontStyle="Normal" FontWeight="Normal" FontStretch="Normal" FontSize="11" Foreground="#FF000000" Typography.StandardLigatures="True" Typography.ContextualLigatures="True" Typography.DiscretionaryLigatures="False" Typography.HistoricalLigatures="False" Typography.AnnotationAlternates="0" Typography.ContextualAlternates="True" Typography.HistoricalForms="False" Typography.Kerning="True" Typography.CapitalSpacing="False" Typography.CaseSensitiveForms="False" Typography.StylisticSet1="False" Typography.StylisticSet2="False" Typography.StylisticSet3="False" Typography.StylisticSet4="False" Typography.StylisticSet5="False" Typography.StylisticSet6="False" Typography.StylisticSet7="False" Typography.StylisticSet8="False" Typography.StylisticSet9="False" Typography.StylisticSet10="False" Typography.StylisticSet11="False" Typography.StylisticSet12="False" Typography.StylisticSet13="False" Typography.StylisticSet14="False" Typography.StylisticSet15="False" Typography.StylisticSet16="False" Typography.StylisticSet17="False" Typography.StylisticSet18="False" Typography.StylisticSet19="False" Typography.StylisticSet20="False" Typography.Fraction="Normal" Typography.SlashedZero="False" Typography.MathematicalGreek="False" Typography.EastAsianExpertForms="False" Typography.Variants="Normal" Typography.Capitals="Normal" Typography.NumeralStyle="Normal" Typography.NumeralAlignment="Normal" Typography.EastAsianWidths="Normal" Typography.EastAsianLanguage="Normal" Typography.StandardSwashes="0" Typography.ContextualSwashes="0" Typography.StylisticAlternates="0"><Paragraph><Run>Hello World  </Run></Paragraph></Section> 

我需要借這個文本並顯示,正確的格式,在應用控制什麼。我相信,爲了做到這一點,我需要一個FlowDocumentViewer(我正在使用FlowDocumentScrollViewer)。

我無法弄清的是如何將文本轉換爲流文檔,以便我可以將它與文檔查看器相關聯(並且我是一個noob)。

任何人都可以幫忙嗎?

回答

6

您可以使用XamlReader.Parse從字符串中創建Section,然後您可以將其添加到文檔中。

+0

這個工作太棒了!謝謝! – 2012-02-22 21:56:47

+0

@TheSheekGeek:很高興聽到這個,歡迎你:) – 2012-02-22 22:00:10

0

讓我補充的完整代碼:

public static FlowDocument ToFlowDocument(string xmlString) 
{ 
    var result = new FlowDocument(); 

    if (!string.IsNullOrEmpty(xmlString)) 
    { 
     result.Blocks.Add((Section)XamlReader.Parse(xmlString)); 
    } 

    return result;   
}