У меня есть вид с редактируемым (добавить, изменить, удалить) списком элементов MyBaseListModel.Каждый отдельный элемент MyBaseListModel имеет собственный список участников, который можно открыть с помощью Expander, чтобы показать отдельные элементы модели.Этот список также можно редактировать.Два разных подсписка могут быть opedend одновременно.
Первые Я реализовал ObservableCollections непосредственно в модели:
public class MyBaseListModel
{
ObservableCollection<MyBaseModel> MyBaseList;
// other members
}
И затем виртуальная машина:
public class MyViewModel
{
public ObservableCollection MyListsfList;
public MyViewModel(List<MyBaseListModel> l)
{
MyListofList = new ObservableCollection(l);
}
....
}
И это работает нормально.
Тогда я прочитал, что нехорошо применять ObservableCollections непосредственно в модели, и я согласен.Поэтому я изменил модели для использования списка:
public class MyBaseListModel
{
List<MyBaseModel> MyBaseList;
// other members
}
Но теперь я не могу редактировать подсписки сиглов, поскольку MyListofList [i] .MyBaseList сам по себе является простым списком, а не ObservableCollection.
Должен ли я перестраивать каждый отдельный элемент MyBaseListModel в конструкторе модели представления, чтобы заменить Список на ObservableCollection?
Или я должен встроить в ВМ коллекцию оболочек ObservableCollection на MyBaseList?
Илия должен иерархически составлять разные ViewModel, создавая MyBaseListViewModel, который обертывает каждый отдельный объект MyBaseListModel, используя ObservableCollection?
Спасибо.