【发布时间】:2014-04-15 14:59:59
【问题描述】:
我的目标是找到任何脏的视图模型,当它们退出应用程序时,我应该让它们通知。
我可以通过下面的代码根据类型获取实例,但问题是它会为所有视图模型创建实例,因为我只对 MEF 容器已经创建的实例感兴趣
List<Type> viewModelInterfaces = new List<Type>();
viewModelInterfaces .Add(typeof(IAddressViewModel));
viewModelInterfaces .Add(typeof(ICustomerNameViewModel));
viewModelInterfaces .Add(typeof(IBudgetSummaryViewModel));
foreach (var appInterface in viewModelInterfaces )
{
var obj = Container.GetExports(appInterface, ull,appInterface.FullName).FirstOrDefault();
if (obj != null)
{
var viewModel = obj.Value as IViewModelBase;
if (viewModel != null)
{
if (viewModel.IsDirty)
{
Show Dialog
}
}
}
}
谢谢
【问题讨论】: