我正在创建一个带MVVM模式的WPF应用程序和Castle Windsor作为IoC容器。问题是windsor接缝不一致地释放我的组件。
我有以下部分:
DependencyGraph是:
DataServices用于在ViewModel之间进行通信,因此必须是单例。 MainView主要是在两个视图之间进行切换,从工厂解析一个视图,同时释放另一个视图 ViewModel通过PropertyInjection插入到视图的代码隐藏中。
我订阅了事件Container.Kernel.ComponentCreated和ComponentDestroyed以查看跟踪是否正常工作。
问题是,ViewModelA在ViewA发布时被销毁,但ViewModelB的方式不同。从我的角度来看,两个ViewModel应该被平等对待,因为唯一的区别是依赖。