C# RichTextBox(FlowDocument)中的图像

C# RichTextBox(FlowDocument)中的图像,c#,wpf,image,richtextbox,flowdocument,C#,Wpf,Image,Richtextbox,Flowdocument,我可以“导入”图像(拾取文件)并将其包装在inlineUIContainer中的边框中。 -但是,当我保存文档时,图像消失了(非常短的文件) 或者我可以从剪贴板中粘贴它(无边框包装)。 -然后它会与文档一起保存-但我无法控制显示 导入图像(从文件)并保留实际位图的正确方法是什么 在FlowDocument中,以便可以将其与RichText的其余部分一起保存 编辑: 我的问题似乎是,图像用URI表示(用XAML表示) -不是实际的位图-那么如何正确导入/嵌入它? 这是我的导入代码: string

我可以“导入”图像(拾取文件)并将其包装在inlineUIContainer中的边框中。
-但是,当我保存文档时,图像消失了(非常短的文件)

或者我可以从剪贴板中粘贴它(无边框包装)。
-然后它会与文档一起保存-但我无法控制显示

导入图像(从文件)并保留实际位图的正确方法是什么
在FlowDocument中,以便可以将其与RichText的其余部分一起保存

编辑:
我的问题似乎是,图像用URI表示(用XAML表示)
-不是实际的位图-那么如何正确导入/嵌入它?
这是我的导入代码:

string fileName = openFileDialog.FileName;
BitmapImage bitmap = new BitmapImage(new Uri(fileName, UriKind.Absolute));

Image image = new Image();
image.Source = bitmap;
image.Width = bitmap.Width;
image.Height = bitmap.Height;

Border border = new Border();
border.Background = Brushes.Blue;
border.BorderBrush = Brushes.Red;
border.BorderThickness = new Thickness(10);
border.Margin = new Thickness(10);
border.Padding = new Thickness(10);

border.Child = image;

InlineUIContainer box = new InlineUIContainer(border, rt.CaretPosition);

尝试将图像封装在边框中,而不是像这样封装在边框中:

string fileName = openFileDialog.FileName;
BitmapImage bitmap = new BitmapImage(new Uri(fileName, UriKind.Absolute));

BlockUIContainer blockUI = new BlockUIContainer();
Image img = new Image();
img.Source = bitmap;
Viewbox vb = new Viewbox();
vb.StretchDirection = StretchDirection.DownOnly;
vb.Stretch = Stretch.Uniform;
vb.HorizontalAlignment = HorizontalAlignment.Center;
vb.VerticalAlignment = VerticalAlignment.Center;
vb.Child = img;
blockUI.Child = vb;

rt.Document.Blocks.Add(blockUI);

尝试将图像封装在边框中,而不是像这样封装在边框中:

string fileName = openFileDialog.FileName;
BitmapImage bitmap = new BitmapImage(new Uri(fileName, UriKind.Absolute));

BlockUIContainer blockUI = new BlockUIContainer();
Image img = new Image();
img.Source = bitmap;
Viewbox vb = new Viewbox();
vb.StretchDirection = StretchDirection.DownOnly;
vb.Stretch = Stretch.Uniform;
vb.HorizontalAlignment = HorizontalAlignment.Center;
vb.VerticalAlignment = VerticalAlignment.Center;
vb.Child = img;
blockUI.Child = vb;

rt.Document.Blocks.Add(blockUI);

检查这个,谢谢你,白痴,但根本不是这样。我只想用“内部”的图像保存文档,而不是将文档导出为图像。为什么每一件小事都会成为WPF中黑客和解决方法的噩梦?!?我现在正试图通过在内部使用剪贴板来作弊,但这也非常困难,并且不允许透明度(png和gif)如此接近于完全放弃WPF…请检查这个感谢TechDuty,但这根本不是问题。我只想用“内部”的图像保存文档,而不是将文档导出为图像。为什么每一件小事都会成为WPF中黑客和解决方法的噩梦?!?我现在试图通过在内部使用剪贴板来作弊,但这也非常困难,而且不允许透明度(png和gif)如此接近于完全放弃WPF。。。