Есть модель пользователя, в которой находится список сообщений этого пользователя.
class User
{
public int Id {get; set;}
public List<string> Messages {get;set;}
}
В интерфейсе мы можем просматривать, редактировать и удалять эти сообщения.
Сейчас в UsersVM я добавил ObservableCollection<string> Messages и когда срабатывает команда редактирования или удаления, то фиксирую эти изменения как в UsersVM.Messages, так и в модели User.Messages, что не очень правильно, как мне кажется.
Подскажите, как сделать правильнее?
INotifyCollectionChanged, полагаю – Jan 02 '17 at 09:23MVVM, но сам ничего плохого не вижу в том, что бы не следовать всем требованиям. – Jan 02 '17 at 10:27INotifyCollectionChanged. Модель я оставил такую же, как указал в вопросе. А вот уже воViewModelя добавилObservableCollectionи привязываюсь к ней. И получается, что данные я добавляю в 2 коллекции вместо одной: и в модель, и в VM. То есть в принципе так делать вполне нормально? – trydex Jan 02 '17 at 11:15Модель пишется в отрыве от реализации MVVM...Модель не знает ни о VM, ни тем более о View, и тем самым независима и может быть легко использована в другом проекте.. ИзменениеList<_>наObservableCollection<_>ради обновления интерфейса, на мой взгляд, неправильно. – Jan 02 '17 at 16:19