/// <summary> /// Initializes a new instance of the <see cref="ConfigViewModel"/> class. /// </summary> /// <param name="settingsFilename">Path to file containing settings for this.</param> public ConfigViewModel(string settingsFilename) { _settingSource = SettingsCollection.FromFile(settingsFilename); if (!object.ReferenceEquals(null, _settingSource)) { try { SettingItems = _settingSource.Items.Select(x => SettingsItemConverter(x)).ToList(); } catch (Exception ex) { SettingItems = new List <IConfigSetting>(); Workspace.RecreateSingletonWindow <ErrorWindow>(new ErrorWindowViewModel(ex) { HeaderMessage = "Error loading config settings", }); return; } } CancelCommand = new RelayCommand <ICloseable>(CloseWindow); OkCommand = new RelayCommand <ICloseable>(w => { SaveChanges(); CloseWindow(w); }); }