Здравствуйте! Изучаю WPF и паттерн MVVM, хочу применить его в своей программе. Моя программа при старте считывает настройки и подключается к БД. Соответственно, она уведомляет пользователя о том, что настройки не были считаны и о том, произошло ли подключение к БД или оно завершилось ошибкой. Уведомление я хочу сделать в соответствии с MVVM используя привязки. Понятно, что View - это окно приложения. Думаю, что моделью, а точнее моделями, должны быть классы содержащие информацию о состоянии чтения настроек и подключения к БД. Но что тогда будет ViewModel?
Спасибо, но пока не понятно. Как я вижу себе структуру:
MainWindow(View)-????(ViewModel)-ProgramReadState(Model);
MainWindow(View)-????(ViewModel)-DBConnectState(Model).
Класс отвечающий за чтение настроек загрузит настройки, произведёт изменения в модели ProgramReadState. Тоже самое и для подключения к базе данных. Но что должен делать ViewModel?
ViewModel - это абстракция Представления. View и ViewModel связаны с друг другом. Например, постраничная таблица данных. В представлении есть таблица, переключатель страниц, и набор строк текущей страницы. В Модели Представления есть соответственно свойство номера страницы и методы переключения страниц и массив строк текущей страницы. Также в модели представления содержится собственно модель таблицы или источник этой таблицы. Представление подписано на свойства модели представления, а модель представления, соответственно, при случае тоже оповещает представление если вдруг какое-то свойство в ней изменилось. При переключении страниц, вызываются соответсвующие методы Модели Представления, которые воздействуют на модель, что-то с ней делают, выдирают нужные куски из всей таблицы (Модели) ложат в массив строк текущей страницы и уже передают это в Представление.