Sci*_*r24 5 wpf prism unity-container mvvm viewmodel
我正在使用Prism和Unity来使用MVVM模式重写WPF应用程序.大多数视图通过DataContext属性连接到VM,如下所示:
<UserControl.DataContext>
<VM:RibbonViewModel/>
</UserControl.DataContext>
Run Code Online (Sandbox Code Playgroud)
问题是,当ViewModel的构造函数中存在参数时,此方法将不起作用.
public RibbonViewModel(IEventAggregator eventAggregator)
{
this.eventAggregator = eventAggregator;
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:
类型'RibbonViewModel'不能用作对象元素,因为它不是公共的,或者没有定义公共无参数构造函数或类型转换器.
当参数存在时,如何将VM连接到View?
您可以查看WPF应用程序框架(WAF)的示例应用程序.在这些示例中,IoC Container(在您的情况下是Unity)负责创建ViewModel.这样,ViewModel可以具有构造函数参数.IoC Container还负责将View与ViewModel结合在一起.也许这也是ViewModel设计的一个选项.
| 归档时间: |
|
| 查看次数: |
8999 次 |
| 最近记录: |