WPF中如何释放掉子窗体所有的非托管资源?

一只特立独行在风口上的猫 一只特立独行在风口上的猫 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在WPF中子窗体使用了本地资源,也就是说使用了给定路径下的文件,但是我要释放掉当前窗体中所使用的资源,代码如下:
FileStream fs = File.OpenRead(currentResource);
DisposableResource resourceObj = null;
try
{
resourceObj = new DisposableResource(fs);//DisposableResource类里面基础了IDisposable,以便资源Dispose掉
resourceObj.DoSomethingWithResource();
//fs.Close();
}
finally
{
if (resourceObj != null)
{
resourceObj.Dispose();
}
}

但是根本就没有效果,不知道是不是FileStream fs = File.OpenRead(currentResource);这里出了问题,因为这个又重新打开了,如果这里出了问题那么该怎么改?
...全文

相关推荐

wpf利用委托实现窗体之间的传值

vs2010 wpf 子窗体向父窗体传值

阴霾后的秋阳

C#窗体切换实战:打开新窗体同时关闭旧窗体的完整实现方案

首先定义一个抽象导航服务接口:其实现类负责管理当前活动窗体的引用,并执行替换逻辑:// 设置拥有者关系,建立父子关联// 显示新窗体// 关闭旧窗体(安全前提下).Close();.Owner!彻底消除窗体间的直接依赖;支持一对多广播;易于扩展拦截逻辑(如权限验证);有时仅知道“已关闭”并不足够,还需了解关闭的原因(如用户取消、保存成功、删除等)。为此可在Closed事件之外附加元数据:Saved,

凡狗蛋

WinForm/WPF程序运行几天越来越卡?工业场景高频内存泄漏点全梳理

NET 自带垃圾回收,但绝不等于不会内存泄漏。工业上位机普遍 7×24 小时不间断运行,哪怕每天只泄漏几兆,累积几天也会表现为界面越来越卡、响应变慢、句柄暴涨,最终程序无响应或崩溃。绝大多数泄漏都不是 GC 的问题,而是:本该被回收的短生命周期对象,被长生命周期对象意外持有引用,永远无法释放。本文按出现概率从高到低,梳理工业上位机场景下最常见的内存泄漏点,以及对应的排查与修复方案。

威哥说编程

wpf嵌套网页及子窗体

wpf嵌套网页及子窗体,

神都少年

WPF实现类似MDI子窗体的功能

使用Extended WPF Toolkit内的ChildWindow窗体控件WPF实现类似MDI子窗体的功能

「已注销」
评论 11
收藏 已收藏
分享
返回顶部