public void OnToggle() { Model.ActivateOrDeactivate(); }
internal void ChangeTypeOfClock(ClockM cd, Type newType) { Model.PropertyChanged -= Model_PropertyChanged; if (newType == typeof(TimerData)) { if (cd.IsActive) { cd.ActivateOrDeactivate(); } var tdata = new TimerData(Model.MyDataFile, Model.MyDataFile.MultiAudioPlayer); tdata.GroupName = cd.GroupName; tdata.Icon = cd.Icon; tdata.Style = cd.Style; tdata.UserBackColor = cd.UserBackColor; tdata.Tag = cd.Tag; tdata.IsUnsaved = true; tdata.ID = cd.ID; tdata.Checkable = cd.Checkable; tdata.Checked = cd.Checked; Model = tdata; } else // AlarmData { if (cd.IsActive) { cd.ActivateOrDeactivate(); } var adata = new AlarmData(Model.MyDataFile, Model.MyDataFile.MultiAudioPlayer); adata.GroupName = cd.GroupName; adata.Icon = cd.Icon; adata.Style = cd.Style; adata.UserBackColor = cd.UserBackColor; adata.Tag = cd.Tag; adata.IsUnsaved = true; adata.ID = cd.ID; adata.Checkable = cd.Checkable; adata.Checked = cd.Checked; Model = adata; } Model.PropertyChanged += Model_PropertyChanged; RaisePropertyChanged("CurrentValue"); RaisePropertyChanged("ResetToValue"); RaisePropertyChanged("IsActive"); RaisePropertyChanged("IsUnsaved"); ClockTypeChanged?.Invoke(this, new ClockTypeChangedEventArgs() { ClockVM = this, NewClockM = Model, OldClockM = cd }); IsUnsaved = true; }