在棱镜7.2中设置SetDefaultViewModelFactory的位置

时间:2018-12-25 20:31:07

标签: prism

在App.xaml.cs中应该调用ViewModelLocationProvider.SetDefaultViewModelFactory吗?

ViewModelLocationProvider.SetDefaultViewModelFactory((type) =>
{
    return Container.Resolve(type);
});

是否应该在ConfigureViewModelLocator或其他地方完成?在ConfigureViewModelLocator中,容器仍然为空。

是否最好使用容器作为视图模型工厂或使用Activator.CreateInstance的默认行为?

1 个答案:

答案 0 :(得分:0)

  

应该在ConfigureViewModelLocator中完成吗?

是的

  

在ConfigureViewModelLocator中,容器仍然为空。

没关系,直到解析完第一个视图模型后,才会调用配置的工厂,这肯定是在初始化容器之后...

  

最好使用容器作为视图模型工厂吗?

当然,否则您的视图模型将无法接收依赖项。