0

我正在使用 Visual Studio Community 2015 开发 UWP。我创建了一个空白项目,添加了一个按钮和 RichEditBox。我正在尝试从本地资源在 RichEditBox 中插入图像,但我只插入了一个空白占位符(具有所需的图像大小)。没有错误被抛出。

这是后面的代码:

private async void Button_Click(object sender, RoutedEventArgs e)
{
    Uri imageUri = new Uri("ms-appx:///Assets/StoreLogo.png");
    using (IRandomAccessStream ras = await RandomAccessStreamReference.CreateFromUri(imageUri).OpenReadAsync())
    {
        box.Document.Selection.InsertImage(64, 64, 0, VerticalCharacterAlignment.Baseline, "img", ras);
    }
}

这是xaml:

<Button Content="Insert image" Click="Button_Click"/>
<RichEditBox Name="box" Height="200"/>

StoreLogo.png 的构建动作是“内容”,我试图将图像复制到输出目录,这没有任何区别。

这里可能是什么问题?这样做的正确方法是什么?

4

1 回答 1

2

我可以看到您的问题,但是,根据我的经验,常见的方法是使用StorageFile.OpenAsyncget IRandomAccessStream。并将其设置为ITextRange.InsertImage.

例如:

Uri imageUri = new Uri("ms-appx:///Assets/StoreLogo.png");

StorageFile imageFile = await StorageFile.GetFileFromApplicationUriAsync(imageUri);

using (IRandomAccessStream fileStream = await imageFile.OpenAsync(Windows.Storage.FileAccessMode.Read))

{

    box.Document.Selection.InsertImage(64, 64, 0, VerticalCharacterAlignment.Baseline, "img", fileStream);

}

您可以尝试使用这种方式来解决它。

于 2016-03-21T11:49:01.620 回答