Should my ViewModel have an ObservableCollection of Views or ViewModels?

前端 未结 3 1420
无人共我
无人共我 2021-02-04 11:22

I\'m trying to understand the basic MVVM design approach when using ItemsControl by binding it via DataTemplates to ObservableCollectio

3条回答
  •  终归单人心
    2021-02-04 12:21

    I would use an ObservableCollection of ViewModels for the following reasons:

    • ObservableCollection already has events available for signaling when it has been modified (e.g. when items are added/removed from the collection).
    • We're at the ViewModel 'layer' so it provides cleaner separation to have a ViewModel contain a collection of ViewModels rather than Views
    • If it is necessary to modify or get data from items within the collection you can more easily modify/access that data if the items are ViewModels (if they're views you'll frequently be casting the View's DataContext or accessing its UI elements).

提交回复
热议问题