// Läuft auf dem UI-Thread private void ButtonStarteBerechnung_Anklicken(object sender, RoutedEventArgs e) { var eventHandler = KennlinienberechnungAngefordert; if (eventHandler != null) { try { KennlinienmodellArgs args = BelegeKennlinienberechnungArgumente(); args.PruefeKonsistenz(); eventHandler(this, args); } catch (CharacteristicCurveInputException) { } } }
private KennlinienmodellArgs BelegeKennlinienberechnungArgumente() { KennlinienmodellArgs args = new KennlinienmodellArgs(); try { args.BelegeGenauigkeit(Genauigkeit.Value); args.BelegeStartgeschwindigkeit(Startgeschwindigkeit.Text); args.BelegeEndgeschwindigkeit(Endgeschwindigkeit.Text); args.BelegeAnzahlPunkte(AnzahlPunkte.Text); args.BelegeAlleKraefte(AlleKraefte.IsChecked.Value); } catch (CharacteristicCurveInputException) { throw; } return(args); }
// Läuft auf dem UI-Thread private void StarteBerechnung(object sender, KennlinienmodellArgs args) { hintergrundArbeiter.RunWorkerAsync(args); ButtonStarteBerechnung.IsEnabled = !hintergrundArbeiter.IsBusy; ButtonBrecheBerechnungAb.IsEnabled = hintergrundArbeiter.IsBusy; }