Я изучаю MVVM.Где я могу назвать модель в ViewModel?
У меня есть два Просмотр заполнение выпадающих списков из свойств ObservableCollection в моей модели представления (например, свойство «OC1» & «OC2»). У меня также есть свойство привязанный к выбранному пункту OC1 (например, свойство «SelVal»), что OC2 зависит, поэтому, когда свойство SelVal изменяется, OC2 необходимо повторно получить его данные из базы данных.
Теперь у меня есть решение, и оно работает для моей ситуации, но похоже, что оно не соответствует принципу . Получите accessor, поэтому я хотел бы знать, с какой проблемой я могу столкнуться трек и лучшее решение?
Мое текущее решение:
получить аксессор OC2 запрашивает базу данных и устанавливает это личное поле для значения, возвращаемого из базы данных (который использует View). Поэтому, когда SETVAL меняется, я просто называю this.RaisePropertyChanged («OC2») в SETVALустановить аксессор Вид и просит OC2, который, в свою очередь, запрашивает базу данных и возвращает обновленный список , Проблема в том, что я не использую аксессуар get, для которого он предназначен, поскольку я назначаю его значение в нем. Но то, что мне нравится в этом, является самодостаточным (т. Е. Мне не нужен метод «BindOc2», который мне нужно будет вызвать в конструкторе, а затем снова в наборе SelVal ). Пожалуйста, порекомендуйте. И что лучше?
Ваше решение звучит мудро (особенно с Законом Мерфи). Вы предлагаете мне иметь отдельный метод для всех моих списков? Поскольку в предыдущем проекте, отличном от MVVM, у меня было более 10 методов (BindSites, BindNames, BindBusiness и т. Д.), И я в конечном итоге группировал их в другие методы инициализации и т. Д. - они, казалось, были излишне отделены от свойств. Но опять же, я никогда не разрабатывал большой проект, чтобы это было правильным способом ... – Steve