public MainWindowVm(ISqlServerUtil sqlserverUtil, IUserPreferencePersist userPreferencePersist) { _sqlserverUtil = sqlserverUtil; _userPreferencePersist = userPreferencePersist; SqlInstancesVm = new SqlInstancesVm(_sqlserverUtil, this, userPreferencePersist); _DbRestoreOption.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(DbRestorOptVm.TargetDbName)) { var pref = _userPreferencePersist.LoadPreference(); pref.LastUsedDbName = _DbRestoreOption.TargetDbName; _userPreferencePersist.SavePreference(pref); } }; }