public void Update(Status status) { if (MainWindow.IsShuttingDown) { return; } Dispatcher.Invoke(() => { if (!status.Ready) { _started = false; MainPanel.Children.Clear(); return; } if (!_started) { _started = true; TransformationInfoProvider.GetAllTransformations().ToList().ForEach(pair => { var transformation = pair.Value; if (CreationMode.On) { CreationMode.Transformations.Add(transformation); } MainPanel.Children.Add(new TransformationGrid(transformation)); }); } if (!CreationMode.On) { TransformationInfoProvider.UpdateTransformations(); } }); }