首页 > 解决方案 > 在 Prism 7.2 中设置 SetDefaultViewModelFactory 的位置

问题描述

应该在 App.xaml.cs 的哪个位置调用 ViewModelLocationProvider.SetDefaultViewModelFactory?

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

应该在 ConfigureViewModelLocator 还是其他地方完成?在 ConfigureViewModelLocator 中,Container 仍然为空。

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

标签: prism

解决方案


应该在 内完成ConfigureViewModelLocator吗?

是的。

在 ConfigureViewModelLocator 中,Container 仍然为空。

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

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

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


推荐阅读