public RecorderControlViewModel(RecordersViewModel parent, Recorder recorder) { _parent = parent; _recorder = recorder; ViewModelHelper.BindNotifyChanged(_recorder.RecordDescription, this, (sender, e) => RaisePropertyChanged(e.PropertyName)); ViewModelHelper.BindNotifyChanged(_recorder, this, (sender, e) => RaisePropertyChanged(e.PropertyName)); // IsPlayingの状態が変わったら、PlayCommand/StopCommandの有効無効を切り替える Observable.FromEventPattern<PropertyChangedEventArgs>(_recorder, "PropertyChanged") .Where(e => e.EventArgs.PropertyName == "IsRecording" || e.EventArgs.PropertyName == "IsPausing") .Subscribe(_ => { _PlayCommand.RaiseCanExecuteChanged(); _PauseCommand.RaiseCanExecuteChanged(); _StopCommand.RaiseCanExecuteChanged(); }); Observable.FromEventPattern<PropertyChangedEventArgs>(_recorder, "PropertyChanged") .Where(e => e.EventArgs.PropertyName == "IsAlive") .Subscribe(_ => _ReinitializeCommand.RaiseCanExecuteChanged()); Observable.FromEventPattern<ErrorInfoEventArgs>(_recorder, "ErrorRaised") .Subscribe(e => Messenger.Raise(new InformationMessage(e.EventArgs.Message, "エラー", "ShowError"))); }
public RecorderControlViewModel(RecordersViewModel parent, Recorder recorder) { _parent = parent; _recorder = recorder; ViewModelHelper.BindNotifyChanged(_recorder.RecordDescription, this, (sender, e) => RaisePropertyChanged(e.PropertyName)); ViewModelHelper.BindNotifyChanged(_recorder, this, (sender, e) => RaisePropertyChanged(e.PropertyName)); // IsPlayingの状態が変わったら、PlayCommand/StopCommandの有効無効を切り替える Observable.FromEventPattern <PropertyChangedEventArgs>(_recorder, "PropertyChanged") .Where(e => e.EventArgs.PropertyName == "IsRecording" || e.EventArgs.PropertyName == "IsPausing") .Subscribe(_ => { _PlayCommand.RaiseCanExecuteChanged(); _PauseCommand.RaiseCanExecuteChanged(); _StopCommand.RaiseCanExecuteChanged(); }); Observable.FromEventPattern <PropertyChangedEventArgs>(_recorder, "PropertyChanged") .Where(e => e.EventArgs.PropertyName == "IsAlive") .Subscribe(_ => _ReinitializeCommand.RaiseCanExecuteChanged()); Observable.FromEventPattern <ErrorInfoEventArgs>(_recorder, "ErrorRaised") .Subscribe(e => Messenger.Raise(new InformationMessage(e.EventArgs.Message, "エラー", "ShowError"))); }
private void CheckAllStop() { if (RecordersViewModel.HasRecordingRecorder() || PlayersViewModel.HasPlayingPlayers()) { Messenger.Raise(new InteractionMessage("AllStop")); } }
private void AllStop(ConfirmationMessage message) { if (message.Response.HasValue && message.Response.Value) { RecordersViewModel.StopAllRecorders(); PlayersViewModel.StopAllPlayers(); } }
public MainWindowViewModel() { _manager = NamingServiceManager.Default; RecordersViewModel = new RecordersViewModel(_manager); PlayersViewModel = new PlayersViewModel(_manager); SettingViewModel = new SettingViewModel(_manager); AnalysisViewModel = new AnalysisViewModel(_manager); }