我正在使用Prism和Unity来使用MVVM模式重写WPF应用程序。大多数视图都通过DataContext属性连接到VM,如下所示:
<UserControl.DataContext>
<VM:RibbonViewModel/>
</UserControl.DataContext>
问题在于,当ViewModel的构造函数中存在参数时,这种方法将无法工作。
public RibbonViewModel(IEventAggregator eventAggregator)
{
this.eventAggregator = eventAggregator;
}
我遇到了以下错误:
类型“RibbonViewModel”无法用作对象元素,因为它不是公共的或者没有定义一个公共的无参构造函数或类型转换器。
当存在参数时,如何将VM连接到View?