C# UWP中ITextRange接口的使用与WPF中的TextRange对象
在尝试将C# UWP中ITextRange接口的使用与WPF中的TextRange对象,c#,uwp,uwp-xaml,C#,Uwp,Uwp Xaml,在尝试将WPF代码(显示在末尾)转换为UWP代码时,我遇到了两个挑战: WPF中对象的UWP等价物 WPF中方法的UWP等价物 我在UWP中创建了一个 var richTextBox = new RichEditBox(); richTextBox.Document.GetText(TextGetOptions.None, out string rebText); ITextRange textRange = richTextBox.Document.GetRange(0, rebText.Le
WPF
代码(显示在末尾)转换为UWP
代码时,我遇到了两个挑战:
var richTextBox = new RichEditBox();
richTextBox.Document.GetText(TextGetOptions.None, out string rebText);
ITextRange textRange = richTextBox.Document.GetRange(0, rebText.Length-1);
但是UWP的ITextRange
对象似乎没有Load()方法
问题:
textRange
是否与以下WPF代码中WPF的textRange
对象执行相同的操作;或者它们在UWP中的行为与WPF中的不同ITextRange
对象没有.Load(…)
方法,在将以下WPF代码转换为UWP应用程序时,如何处理我的UWP代码中的Load(…)方法private static string ConvertRtfToXaml(string rtfText)
{
var richTextBox = new RichTextBox();
if (string.IsNullOrEmpty(rtfText)) return "";
var textRange = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd);
//Create a MemoryStream of the Rtf content
using (var rtfMemoryStream = new MemoryStream())
{
using (var rtfStreamWriter = new StreamWriter(rtfMemoryStream))
{
rtfStreamWriter.Write(rtfText);
rtfStreamWriter.Flush();
rtfMemoryStream.Seek(0, SeekOrigin.Begin);
//Load the MemoryStream into TextRange ranging from start to end of RichTextBox.
textRange.Load(rtfMemoryStream, DataFormats.Rtf);
}
}
using (var rtfMemoryStream = new MemoryStream())
{
textRange = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd);
textRange.Save(rtfMemoryStream, DataFormats.Xaml);
rtfMemoryStream.Seek(0, SeekOrigin.Begin);
using (var rtfStreamReader = new StreamReader(rtfMemoryStream))
{
return rtfStreamReader.ReadToEnd();
}
}
}
由于UWP的ITextRange对象没有.Load(…)方法,在将以下WPF代码转换为UWP应用程序时,如何处理UWP代码中的Load(…)方法
在UWP中,可以使用and方法
您可以检查文档上的示例。但是
ITextDocument.SaveToStream方法的TextGetOptions
参数没有将Xaml
作为数据格式保存到流的选项]。上面的WPF
code正在使用textRange.Save(rtfMemoryStream,DataFormats.Xaml)代码>。那么,它的等价物是什么?@nam你说得对。目前还没有这样的数据格式。您可以在上提交功能请求。