ImageBrowser Show() 弹框关闭后,图片资源未释放,无法删除图片
Describe the bug
ImageBrowser Show() 弹框关闭后,图片资源未释放,无法删除图片
Steps to reproduce the bug
1、代码中创建ImageBrowser对象,注册Closed事件,并弹框展示 string previewImageFullPath = “D:\tmp\imgPreView\test.jpg” ImageBrowser imageBrowser = new ImageBrowser(); imageBrowser.Closed += ImageBrowser_Closed; imageBrowser.Show();
2、在Closed事件中删除第一步中预览的图片 if (File.Exists(previewImageFullPath )) { File.Delete(previewImageFullPath ); }
Expected behavior
弹框关闭时可以在Closed事件中删除图片,或者弹框关闭后可以删除图片
Screenshots
NuGet package version
None
IDE
Visual Studio 2022
Framework type
.Net 6.0
Windows version
No response
Additional context
No response
+1
解决了吗?也是占用,其他地方要操作就打不开了,为啥不支持BitmapImage啊
解决了吗?也是占用,其他地方要操作就打不开了,为啥不支持BitmapImage啊
升级版本吧 升级后貌似没这个问题
解决了吗?同样占用,其他地方操作就打不开,为啥不支持BitmapImage啊
升级版本吧 升级后明显没这个问题
用的是3.5.1了,最新版了
解决了吗?同样占用,其他地方操作就打不开,为啥不支持BitmapImage啊
升级版本吧 升级后明显没这个问题
用的是3.5.1了,最新版了
事实上 github上代码是3.5.2 但是Nuget上面的还是3.5.1 我是直接把代码拉下来的
解决了吗?同样占用,其他地方操作就打不开,为啥不支持BitmapImage啊
升级版本吧 升级后明显没这个问题
用3的是.5.1了,最新版本了
其实github上代码是3.5.2但是Nuget上面的还是3.5.1我是直接把代码拉下来的
用代码生成的dll,就解除释放了,快速切换还是有时候会没释放到或者说没释放完。
解决了吗?同样占用,其他地方操作就打不开,为啥不支持BitmapImage啊
升级版本吧 升级后明显没这个问题
用3的是.5.1了,最新版本了
其实github上代码是3.5.2但是Nuget上面的还是3.5.1我是直接把代码拉下来的
用代码生成的dll,就解除释放了,快速切换还是有时候会没释放到或者说没释放完。
一直没解决这个问题,完了试一下这个方式,感谢兄弟。
解决了吗?同样占用,其他地方操作就打不开,为啥不支持BitmapImage啊
升级版本吧 升级后明显没这个问题
用3的是.5.1了,最新版本了
其实github上代码是3.5.2但是Nuget上面的还是3.5.1我是直接把代码拉下来的
用代码生成的dll,就解除释放了,快速切换还是有时候会没释放到或者说没释放完。
一直没解决这个问题,完了试一下这个方式,感谢兄弟。
还是有问题的,直接改源代码吧 ///
_imageViewer.ImageSource = bitmapFrame;
_imageViewer.ImgPath = uri.AbsolutePath;
if (File.Exists(_imageViewer.ImgPath))
{
var info = new FileInfo(_imageViewer.ImgPath);
_imageViewer.ImgSize = info.Length;
}
}
catch
{
MessageBox.Show(Properties.Langs.Lang.ErrorImgPath);
}
};
}
最后把这个控件的源码复制出来,在自己的项目里进行了修改,修改后的文件我放在下边了,解压后可以放在自己的项目里,cs文件里将命名空间修改成自己项目的。xaml是样式资源文件,全局加载一下。使用的时候将原来的ImageBrowser类型替换成ImageBrowserExtension即可。