Example #1
0
        /// <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);
            });
        }