C#. Создание ViewModel для изменения Model

Имеется модель, данные в которою изначально загружаются из файла:

public class SettingsModel
    {
        /// <summary>
        /// Базовые параметры
        /// </summary>
        public BaseSettins BaseSettins { get; set; } = new BaseSettins();
        /// <summary>
        /// Параметры шрифта
        /// </summary>
        public FontSettings FontSettins { get; set; } = new FontSettings();
        /// <summary>
        /// Параметры цены
        /// </summary>
        public LabelSettings PriceSettins { get; set; } = new LabelSettings();
        /// <summary>
        /// Параметры суммы
        /// </summary>
        public LabelSettings AmountSettins { get; set; } = new LabelSettings();
        /// <summary>
        /// Параметры объёма
        /// </summary>
        public LabelSettings VolumeSettins { get; set; } = new LabelSettings();
        /// <summary>
        /// Параметры топлива
        /// </summary>
        public FuelSettings FuelSettings { get; set; } = new FuelSettings();
        /// <summary>
        /// Параметры постов
        /// </summary>
        public List<PostSettings> PostsSettings { get; set; } = new List<PostSettings>();
        /// <summary>
        /// Параметры изображений
        /// </summary>
        public ImageSettrings ImageSettrings { get; set; } = new ImageSettrings();
        /// <summary>
        /// Параметры видео
        /// </summary>
        public VideoSettings VideoSettings { get; set; } = new VideoSettings();
        /// <summary>
        /// Параметры аудио
        /// </summary>
        public AudioSettings AudioSettings { get; set; } = new AudioSettings();
    }

Необходимо создать приложение, с помощью которого возможно конфигурирование свойств, с последующим сохранением обратно в файл. Как лучше поступить в таком случае для создания ViewModel и привязки свойств настроек к полям, чтоб не отсупать от MVVM:

  1. дублировать имеющиеся в модели поля во ViewModel'и, осуществлять привязку к ним, а после изменения пересоздавать модель;
  2. реализовать для имеющейся модели и подклассов интерфейс INotifyPropertyChanged и привязываться уже к имеющимся свойствам

Или есть какой-то более разумный подход?


Ответы (0 шт):