Dependency injection 如何让Prism/Unity自动解析视图(UserControl)?
在复合应用程序(Prism)中,当我的模块加载时,出现以下错误: {“当前生成操作(生成 关键构建 键[CustomerModule.ViewModels.CustomerAllViewModel, null])失败:参数视图 尝试时无法解决此问题 调用构造函数 CustomerModule.ViewModels.CustomerAllView模型(CustomerModule.Views.CustomerAllView 视图)。(策略类型 Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy, 索引2)} 我正在解决这门课: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
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;
...