Wpf 从FlowDocument中删除图像时,如何删除图像文件?
我有一个可编辑的RichTextBox,用户可以在其中添加表格、段落、超链接、图像等。当用户插入图像时,我的程序将创建从选定位置到应用程序目标目录的图片副本,并在图像对象中设置此新源 现在用户可以从RichTextBox中删除图像。在这种情况下,应用程序还应该从其目录中删除图像文件。我试图找到当任何内容被删除时在FlowDocument中发生的任何事件。我没有发现这样的事件 或者,我决定使用图像对象的卸载事件。当图像被删除时,卸载的事件被适时地触发(有时两次),我的删除文件的代码可以正常工作。现在的问题是RichTextBox被放置在一个TabItem中。若我切换到另一个选项卡项,图像对象将触发卸载事件并删除文件。为了解决这个问题,我尝试在卸载事件期间检测图像对象属性的变化。我发现我可以使用父属性。FlowDocument中图像对象的父对象是InlineUIContainer。所以,若图像被移除,InlineUIContainer的父级将变为null(当焦点转移到其他TabItem时不为null)。这让我点头删除图像文件,它可以根据需要工作 但当图像落在选择范围内时,问题就开始了。在这种情况下,将触发卸载事件,但InlineUIContainer的父级不为null。我追踪-Wpf 从FlowDocument中删除图像时,如何删除图像文件?,wpf,wpftoolkit,Wpf,Wpftoolkit,我有一个可编辑的RichTextBox,用户可以在其中添加表格、段落、超链接、图像等。当用户插入图像时,我的程序将创建从选定位置到应用程序目标目录的图片副本,并在图像对象中设置此新源 现在用户可以从RichTextBox中删除图像。在这种情况下,应用程序还应该从其目录中删除图像文件。我试图找到当任何内容被删除时在FlowDocument中发生的任何事件。我没有发现这样的事件 或者,我决定使用图像对象的卸载事件。当图像被删除时,卸载的事件被适时地触发(有时两次),我的删除文件的代码可以正常工作。现
var stream = new System.IO.FileStream("e:\\check.xml", System.IO.FileMode.Create);
rtfMain.Selection.Save(stream, DataFormats.Xaml, true);
stream.Close();
总之,我只想知道是否从FlowDocument中删除了任何内容(图像、超链接等)并删除了引用文件。但不知何故,解决办法似乎非常难以捉摸
提前感谢您抽出时间
Ritesh是否将这些流程文档保存到磁盘?是否将流程文档保存在与图像相同的目录中?我的想法是保存,然后将FlowDocument及其图像放在自己的目录中,并清除工作目录。