using System.ComponentModel; using System.ComponentModel.DataAnnotations; using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; namespace ShrlAlgoToolkit.RevitAddins.RvCommon; public partial class AutoSaveViewModel : ObservableValidator { public AutoSaveViewModel() { IsActiveAutoSave = RevitAddins.Properties.Settings.Default.IsActiveAutoSave; IntervalTime = RevitAddins.Properties.Settings.Default.AutoSaveIntervalTime; } [ObservableProperty] private bool isActiveAutoSave; //partial void OnIsActiveAutoSaveChanged(bool value) //{ // throw new NotImplementedException(); //} [Required(ErrorMessage = "不可为空")] [DefaultValue(10)] [NotifyDataErrorInfo] [Range(1, 30, ErrorMessage = "输入值应在1~30分钟之间")] [ObservableProperty] private int intervalTime; [RelayCommand] private void Closing() { RevitAddins.Properties.Settings.Default.IsActiveAutoSave = IsActiveAutoSave; RevitAddins.Properties.Settings.Default.AutoSaveIntervalTime = IntervalTime; RevitAddins.Properties.Settings.Default.Save(); Variables.AutoSaveTimer.Interval = IntervalTime * 60 * 1000; } }