我正在使用Microsoft的XAML/HTML converter將HTML數據庫中的HTML轉換爲XAML字符串。 Microsoft轉換器似乎正確地格式化文本,但我遇到了將輸出綁定到XAML對象的麻煩。WPF FlowDocument綁定
例如,使用下面的HTML:
<span style="font-weight: bold; font-family: Georgia; color: rgb(0, 96, 144); text-decoration: underline;">Hello world.</span>
我將得到XAML輸出:
<Section xml:space="preserve" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<Paragraph>
<Run FontWeight="bold" TextDecorations="Underline" FontFamily="georgia">Hello world.</Run>
</Paragraph>
假設HTML正進入WPF應用程序的「文本「數據庫對象的屬性,然後我使用綁定和轉換器像這樣:
<TextBlock Text="{Binding Path=ActiveDataItem.Text, Converter={StaticResource convertHTMLToXaml}}" />
不幸的是,這只是將XAML打印到頁面,並沒有解析它。我假設這是因爲我綁定到TextBlock,這是預期的結果。我的問題是我如何綁定這個輸出FlowDocument相關的控件,如段落,運行,部分,或其他?
注:我意識到有相當多的線程致力於將HTML轉換爲XAML。我已經提到了其中的大部分,但他們都缺乏這一特定步驟。任何幫助或鏈接表示讚賞,在此先感謝。
我最終使用該RichTextboxAssistant類的一個版本來擴展Document屬性作爲依賴屬性,以便我可以綁定到它。然後,我不得不刪除RichTextEditor的邊框和背景顏色,以便文本顯示在背景上,而不是在TextBox中。不是最好的解決方案,但它的工作! – 2010-09-09 17:14:14