Dependency injection 如何让Prism/Unity自动解析视图(UserControl)?

Dependency injection 如何让Prism/Unity自动解析视图(UserControl)?,dependency-injection,module,unity-container,prism,composite,Dependency Injection,Module,Unity Container,Prism,Composite,在复合应用程序(Prism)中,当我的模块加载时,出现以下错误: {“当前生成操作(生成 关键构建 键[CustomerModule.ViewModels.CustomerAllViewModel, null])失败:参数视图 尝试时无法解决此问题 调用构造函数 CustomerModule.ViewModels.CustomerAllView模型(CustomerModule.Views.CustomerAllView 视图)。(策略类型 Microsoft.Practices.ObjectB

在复合应用程序(Prism)中,当我的模块加载时,出现以下错误:

{“当前生成操作(生成 关键构建 键[CustomerModule.ViewModels.CustomerAllViewModel, null])失败:参数视图 尝试时无法解决此问题 调用构造函数 CustomerModule.ViewModels.CustomerAllView模型(CustomerModule.Views.CustomerAllView 视图)。(策略类型 Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy, 索引2)}

我正在解决这门课:

CustomerAllViewModel layoutManager = this.container.Resolve<CustomerAllViewModel>();
通常我解析没有构造函数参数的演示者,并在内部实例化他们的视图。这是我第一次使用接受视图作为参数的视图模型

有趣的是,当我使用Resharper进入视图时,它会问我是否要进入XAML或后面的代码,所以Prism可能会混淆要实例化哪一个


如何让Prism在参数中自动实例化此视图(带有XAML和代码隐藏的UserControl)?

有时这实际上不是错误,而是其他原因。查看内部异常,或者调用Microsoft.Practices.Composite.ExceptionExtensions.GetRootException(ex)获取根异常。您可能会发现在一个未看到的构造函数中抛出了一些错误。

有时这实际上不是错误,而是其他错误。查看内部异常,或者调用Microsoft.Practices.Composite.ExceptionExtensions.GetRootException(ex)获取根异常。您可能会发现在一个未看到的构造函数中抛出了一些错误。

您是否已将CustomerAllView添加到容器中?当我忘记向容器添加类型时,通常会出现此错误

您是否已将CustomerAllView添加到容器中?当我忘记向容器添加类型时,通常会出现此错误

public class CustomerAllViewModel : ViewModelBase
{
    public CustomerAllView View { get; set; }
    public ICommand TextChangeCommand { get; set; }
    private Customer customer;

public CustomerAllViewModel(CustomerAllView view)
{
    View = view;
    view.DataContext = this;
    ...