[将Rich Text文档作为嵌入式资源加载时UWP挂起

问题描述 投票:0回答:1

我正在尝试在应用程序中包含一些富文本格式,但是在尝试加载文本时应用程序挂起。

// Here is the initiating call:
await aboutDialog.ShowAsync();

// This code hangs on the second line
private async void Page_Loaded(object sender, RoutedEventArgs e)
{
    var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("XamlSandbox.cities.rtf");
    myRichEditBox.Document.LoadFromStream(Windows.UI.Text.TextSetOptions.FormatRtf, stream.AsRandomAccessStream());
}

// This code works OK
private async void Page_Loaded(object sender, RoutedEventArgs e)
{
    var picker = new Windows.Storage.Pickers.FileOpenPicker();
    var file = await picker.PickSingleFileAsync();
    var fileStream = await file.OpenAsync(FileAccessMode.Read);
    myRichEditBox.Document.LoadFromStream(Windows.UI.Text.TextSetOptions.FormatRtf, fileStream);
}

我已经尝试将嵌入式资源加载到内存流中并使用它,但是它也挂起了。有什么想法吗?

file-io uwp embedded-resource
1个回答
0
投票

这里是如何正确加载UWP中的嵌入式资源:

            var rtfUri = new Uri("ms-appx:///cities.rtf");
            var file = await StorageFile.GetFileFromApplicationUriAsync(rtfUri);
            var stream = file.OpenAsync(FileAccessMode.Read);
            myRichEditBox.Document.LoadFromStream(Windows.UI.Text.TextSetOptions.FormatRtf, stream.GetResults());
© www.soinside.com 2019 - 2024. All rights reserved.