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:
- дублировать имеющиеся в модели поля во ViewModel'и, осуществлять привязку к ним, а после изменения пересоздавать модель;
- реализовать для имеющейся модели и подклассов интерфейс INotifyPropertyChanged и привязываться уже к имеющимся свойствам
Или есть какой-то более разумный подход?