2

Как обычно в WPF решается сохранение последних значений, введенных, например в ComboBox'ы? Т.е пользователь открывает программу по новой, а у него там значения с последнего запуска сохранены.

Сериализация вьюхи перед закрытием,а потом ее десериализация при открытии?

Сохранение последних данных в UserConfig, а потом их считывание? Если да, то нормальная ли практика напрямую в конструкторе вьюхи пытаться считать Config или правильнее, что конструктор формы передавал значения во вьюху?

iluxa1810
  • 24,899

2 Answers2

1

Сохранять нужно состояние модели, для таких состояний используется класс ModelDTO, который содержит только свойства модели и никакой логики. При закрытии программы модель заполняет объект ModelDTO, затем объекты сериализуются и сохраняются в файл, а при открытии десериализуются и инициализируют модель.

Если все сделать правильно, то используя MVVM все произойдет само собой: Model считает данные из ModelDTO, VM из Model, View отобразит VM. Все!

Gardes
  • 3,358
0

Способов сохранять какие-либо значения между запусками программы много (файл, UserConfig, реестр и тд). Но сохранять требуемые значения придется "вручную", например при событии Clozing формы. Читать эти данные в конструкторе формы допустимо, но только ПОСЛЕ процедуры InitializeComponent();