public Pattern(IScarletCommandBuilder commandBuilder, IScarletCommandManager commandManager, DirectoriesViewModel directoriesViewModel, string value) : base(commandBuilder) { _directoriesViewModel = directoriesViewModel ?? throw new ArgumentNullException(nameof(directoriesViewModel)); Value = value ?? throw new ArgumentNullException(nameof(value)); UpdatePreviewCommand = commandBuilder .Create(UpdatePreview, CanUpdatePreview) .WithSingleExecution() .Build(); }
public Patterns(IScarletCommandBuilder commandBuilder, DirectoriesViewModel directoriesViewModel) : base(commandBuilder) { _directoriesViewModel = directoriesViewModel ?? throw new ArgumentNullException(nameof(directoriesViewModel)); AddCommand = commandBuilder .Create(Add, CanAdd) .WithSingleExecution() .Build(); Messenger.Subscribe <ViewModelListBaseSelectionChanged <Pattern> >(OnSelectionChanged, OnSelectionChangedReceived); }
public ProgressViewModel(IScarletCommandBuilder commandBuilder, Progress <int> progress, DirectoriesViewModel directoriesViewModel) : base(commandBuilder) { _directoriesViewModel = directoriesViewModel ?? throw new ArgumentNullException(nameof(directoriesViewModel)); _progress = progress ?? throw new ArgumentNullException(nameof(progress)); _observable = Observable.FromEventPattern <int>( fsHandler => _progress.ProgressChanged += fsHandler, fsHandler => _progress.ProgressChanged -= fsHandler); _disposable = _observable .Publish(ps => ps.Buffer(() => ps.Throttle(TimeSpan.FromSeconds(1)))) .Subscribe(x => ProgressChanged(x.Sum(p => p.EventArgs))); //_disposable = _observable // .Window(TimeSpan.FromSeconds(1)) // .Count() // .Subscribe(ProgressChanged); }