private async void DoStart() { _cancellationTokenSource = new CancellationTokenSource(); _isRunning = true; CommandManager.InvalidateRequerySuggested(); await Task.Run(() => { _stopwatch.Start(); for (var i = 0; _isRunning; i++) { StarGrid.GetDeltas(); StarGrid.UpdateS(StepSizeVm.Value, NoiseLevelVm.Value); if (_cancellationTokenSource.IsCancellationRequested) { _isRunning = false; _stopwatch.Stop(); CommandManager.InvalidateRequerySuggested(); } if (i % (int)DisplayFrequencySliderVm.Value == 0) { Application.Current.Dispatcher.Invoke ( UpdateUi, DispatcherPriority.Background ); } } }, cancellationToken : _cancellationTokenSource.Token ); }
public void UpdateTable() { StarGrid.DataSource = null; StarGrid.ClearSelection(); Targets = Archive.Stars; foreach (Predicate <Star> F in Filters) { Targets = Targets.Where(S => F(S)).ToList(); } Constants.FillDataGrid(Targets, StarGrid); }
protected override void ResetState() { message = null; }
protected override void LoadState() { var points = new PointCollection(ParsedFileLines(Point.Parse)); message = points.GetFormedStarGrid(out formationTime); }
private void UpdateUi() { Grid2DVm.UpdateData(StarGrid.CurValuesAsP2Vs()); OnPropertyChanged("Generation"); OnPropertyChanged("ElapsedTime"); }