У меня проблема с коллекцией MVVM и сборкой связывания. Моя ViewModel предоставляет коллекцию View, но чтобы получить эту коллекцию я использую это:MVVM & business logic Layer
public BindingList<Car> BindingListCars { get; set; }
public CarsVm()
{
BindingListVoiture = carServices.ListCars;
}
Когда я связать мой взгляд на этот список, это как если бы я связать непосредственно с моей точки зрения на модели, потому что они используют ту же ссылку. Поэтому, когда я редактирую одно свойство Car
, модель напрямую редактируется без использования метода проверки carServices
.
Какое следует решить проблему?
Должен ли я предоставить копию моей модели моему представлению, чтобы не изменять непосредственно мою модель из представления?
Должен ли я использовать BindingList
в моей модели и подписчике на ListChanged
в моем carServices
для проверки каждого изменения?
Возможный дубликат [Как создать MVVM с коллекциями?] (http://stackoverflow.com/questions/7178801/how-do-i-structure-mvvm-with-collections) –
Google "mvvm collections", вы найдете массу обсуждений и полезных решений –