我正在使用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的构建操作是&#34;内容&#34;,我试图将图像复制到输出目录,这没有任何区别。
这可能是什么问题?这样做的正确方法是什么?
答案 0 :(得分:1)
我可以看到您的问题,但根据我的经验,常见的方法是使用StorageFile.OpenAsync
获取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);
}
您可以尝试使用这种方式来解决它。