I found two ways to use M-V-VM pattern in WPF:
- allocate the ViewModel into the View's code behind (setting it as the DataContext);
- allocate the ViewModel into a 开发者_开发百科XAML file and create the corresponding view using a DataTemplate.
The Model can be allocated into the ViewModel's constructor.
What do you think about this way of using M-V-VM pattern? What are best practices relative to it? Thank youI tend to follow #2 and have found it to be the most flexible. As a best practice I would move these DataTemplate
's into ResourceDictionary
's so they can be shared amongst XAML that will require them.
Method #3 is what we do:
This is with Boo / Binsor... the datacontext is setup through IOC.
component "AngleRoomModel", IRoomViewModel, AngleRoomViewModel
component "AngleRoom", IRoomView, AngleRoomView:
DataContext = @AngleRoomModel
精彩评论