我目前正試圖端口馬修Manela的"Converting between RTF and XAML"代碼示例的WinRTXAML噴吹成RichEditBox
我有工作的HTML XAML代碼,但我得到它爲RichEditBox
時碰釘子。
Matthew的代碼是基於WPF的,並使用以下函數將XAML轉換爲RTF。
private static string ConvertXamlToRtf(string xamlText)
{
var richTextBox = new RichTextBox();
if (string.IsNullOrEmpty(xamlText)) return "";
var textRange = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd);
using (var xamlMemoryStream = new MemoryStream())
{
using (var xamlStreamWriter = new StreamWriter(xamlMemoryStream))
{
xamlStreamWriter.Write(xamlText);
xamlStreamWriter.Flush();
xamlMemoryStream.Seek(0, SeekOrigin.Begin);
textRange.Load(xamlMemoryStream, DataFormats.Xaml);
}
}
using (var rtfMemoryStream = new MemoryStream())
{
textRange = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd);
textRange.Save(rtfMemoryStream, DataFormats.Rtf);
rtfMemoryStream.Seek(0, SeekOrigin.Begin);
using (var rtfStreamReader = new StreamReader(rtfMemoryStream))
{
return rtfStreamReader.ReadToEnd();
}
}
}
我試着用RichEditBox
在WinRT中重寫這一點,但遇到了一些問題。最值得注意的是,WPF TextRange
接受XAML數據格式,但WinRT ITextRange
沒有這個。但是,我知道我可以將XAML直接注入到控件中。
有沒有什麼辦法從RichTextBlock
複製文本並以編程方式將其粘貼到RichEditBox中?
或,否則,有沒有辦法將HTML轉換爲RTF,在WinRT/Windows商店應用程序中工作?
只有一個評論。不是同一個問題,但可能會發現一些亮點。 http://underground.infovark.com/2011/03/03/highlighting-query-terms-in-a-wpf-textblock/ – Paparazzi
再次不一樣,但可能有助於http://stackoverflow.com/questions/3728584/ how-to-display-search-results-in-a-wpf-items-control-with-highlight-query-term – Paparazzi
謝謝,雖然我沒有突出問題的問題,但在RichEditBox或RichTextBlock中都很容易。我無法將內容從一個移動到另一個。 – roryok