我有一个wpf用户控件,它显示了一些创建/部署昂贵的非托管资源。
UnLoaded事件是释放非托管资源的理想事件,但由于某些控件会创建/销毁可视树,因此每个实例会多次调用它。
我想要做的是以某种方式确定在UnLoaded事件中,控件是否仍然活着并且很好,但是没有为它构建可视树。
这样,如果用户只是通过TabControl导航,或者根据情况可能,我可以阻止释放/创建非托管资源。
答案 0 :(得分:0)
Unloaded-event是释放非托管资源的错误位置
http://msdn.microsoft.com/en-us/library/b1yfkh5e(v=vs.100).aspx
当你知道不再需要UserControl并且想要释放非托管资源时,immediatley
- 调用Dispose()