2014-10-03 59 views
0

我的應用程序中有一個FlowDocumentReader控件。在FlowDocumentReader中顯示html文本

<FlowDocumentReader Document="{Binding FlowDocument}" Style="{DynamicResource FlowDocumentStyle}" /> 

這裏就是我的文字設置爲FlowDocumentReader:

Paragraph paragraph = new Paragraph(); 
paragraph.Inlines.Add("some <b>book</b>"); 
FlowDocument.Blocks.Add(paragraph); 

的問題是,「書」是不是像HTML顯示,該變量是在WPF應用程序可見。

我嘗試使用該轉換器:

http://code.msdn.microsoft.com/windowsdesktop/XAML-to-HTML-Conversion-ed25a674/view/SourceCode 

但後來在我的WPF應用程序顯示的文字是這樣的:

<FlowDocument xml:space="preserve" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"><Paragraph>some <Run FontWeight="bold">book</Run></Paragraph></FlowDocument> 

,並再次這不是大膽。我怎樣才能做到這一點?

+0

使用['RichTextBox'類(http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextbox(V = vs.110)的.aspx),其是能夠格式化單個單詞。 – Sheridan 2014-10-03 11:09:25

回答

0

使用UI元素將格式化文本和它們顯示爲段落的InlineUIContainer。

Paragraph paragraph = new Paragraph(); 


     paragraph.Inlines.Add("some"); 
     Label lb = new Label(); 
     lb.FontWeight = FontWeights.Bold; 
     lb.Content = " Book"; 
     paragraph.Inlines.Add(new InlineUIContainer(lb)); 
     this.Doc.Document = new FlowDocument(); 
     this.Doc.Document.Blocks.Add(paragraph); 
+0

我不能這樣做,我的字符串不只是從2個單詞。我爲這個例子簡化了它,但實際上它很大。 – 2014-10-03 14:57:11

+0

在這種情況下,您可以嘗試使用WebBrowser Control來顯示HTML格式的數據,而不是標籤。 – 2014-10-03 15:04:05

+0

我必須使用FlowDocumentReader,就像問題的標題中所述。 – 2014-10-03 15:04:43