我发现在WPF中有两种使用M-V-VM模式的方式:
- 将ViewModel分配到View的代码后台(将其设置为DataContext);
- 将ViewModel分配到XAML文件中,并使用DataTemplate创建相应的View。
Model可以分配到ViewModel的构造函数中。
您对这种使用M-V-VM模式的方式有什么看法?与此相关的最佳实践是什么?
谢谢
我们使用的是第三种方法:
这是在 Boo / Binsor 中完成的... 数据上下文是通过 IOC 进行设置的。
component "AngleRoomModel", IRoomViewModel, AngleRoomViewModel
component "AngleRoom", IRoomView, AngleRoomView:
DataContext = @AngleRoomModel
我倾向于遵循第二种方法,并发现它是最灵活的。作为最佳实践,我会将这些DataTemplate
移动到ResourceDictionary
中,以便它们可以在需要它们的XAML之间共享。