首页 > 解决方案 > 如何在 Prism 7 中自动创建 ViewModel

问题描述

我使用 Prism7 和 Unity 创建了一个小型测试 WPF .net 框架解决方案。在我唯一的模块中,我有一个视图和一个视图模型。我没有在视图上使用 AutoWireViewModel 属性。相反,我在 View 上有一个构造函数,它将我的 ViewModel 作为参数:

public partial class ViewA : UserControl
{
    public ViewA(ViewAViewModel viewModel)
    {
        InitializeComponent();
        DataContext = viewModel;
    }
}

当我运行应用程序时,它可以工作,但我不明白如何。如果我没有将 ViewModel 添加到 Unity Container 中,它是如何解决的?这是一些默认的棱镜魔法吗?如果是,是否有描述它的地方?

将感谢任何见解。

标签: c#wpfprism

解决方案


所有 Prism 容器都配置为将 Concrete 类型自动解析为瞬态。这就是允许 Prism 解析任何 ViewModel 的原因,无论您是否已注册它。


推荐阅读