视图模型中的参数化构造函数不起作用

时间:2012-04-12 23:23:52

标签: wpf

我有一个小问题。 在我的视图模型中参数化构造函数不起作用。调试时我发现默认构造函数被命中但它从不触发我的参数化构造函数。 我怎样才能让我的参数化构造函数工作?

public EmployeeRequestViewModel(IEventAggregator eventAggregator, IContextManager contextmanager):this()
    {
        _contextmanager = contextmanager;
        _eventAgg = eventAggregator;
        _eventAgg.GetEvent<EmployeeEvent>().Subscribe(EventTask);
    }

    public EmployeeRequestViewModel()
    {
        LoadEmpRequest();

    }

2 个答案:

答案 0 :(得分:1)

如果没有使用参数化构造函数的代码,它当然不会被命中。或者,如果执行的代码永远不会自行执行。

答案 1 :(得分:0)

因为您正在传递事件聚合器,所以我将假设您正在使用Prism。

棱镜的统一是贪婪的。解析依赖关系后,Unity将找到它可以解析的最大构造函数,然后使用它创建对象。如果您只使用默认构造函数,那么我会检查您是否在UnityContainer中注册了IContextManager类型。