private void Interpreter_StateChanged(object sender, BaZicInterpreterStateChangeEventArgs e) { Log(e.ToString()); if (e.State == BaZicInterpreterState.Stopped || e.State == BaZicInterpreterState.StoppedWithError) { _synchronizationContext.Send((d) => { RunProgramButton.Visibility = Visibility.Visible; RunProgramReleaseButton.Visibility = Visibility.Visible; OptimizeCheckBox.Visibility = Visibility.Visible; PauseButton.Visibility = Visibility.Collapsed; StopButton.Visibility = Visibility.Collapsed; ResumeButton.Visibility = Visibility.Collapsed; NextStepButton.Visibility = Visibility.Collapsed; }, null); Task.Run(() => { Task.Delay(500).Wait(); _interpreter.Dispose(); }); } }