C#-Threading/Async: Ausführen einer Aufgabe im Hintergrund, während die Benutzeroberfläche interaktiv istC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 C#-Threading/Async: Ausführen einer Aufgabe im Hintergrund, während die Benutzeroberfläche interaktiv ist

Post by Anonymous »

Nachdem ich mich sowohl bei Async/Await als auch bei Threading umgesehen habe, bin ich mir immer noch nicht sicher, wie ich es richtig auf meine Situation anwenden soll. Unabhängig von der Variante, die ich ausprobiere, hängt meine Benutzeroberfläche immer noch, weil ich meine gewünschte Funktion anscheinend nicht asynchron aufrufe. Außerdem benötige ich möglicherweise tatsächlich Threading für meine Lösung.

Was ich versuche: Ich habe eine WPF-Anwendung, in der es eine Schaltfläche gibt, mit der ich einen Vorgang starten möchte, der weiterhin eine Interaktion mit dem Programm über die Benutzeroberfläche oder auf andere Weise ermöglicht. Sobald eine Bedingung erfüllt ist, die außerhalb dieser Funktion festgelegt wird, sollte die Funktion beendet werden. Für mich klingt das ziemlich normal, aber ich habe das Gefühl, dass ich etwas falsch verstehe und es falsch implementiert habe.

Was ich gerade habe:

Code: Select all

private async void start_button_Click(object sender, RoutedEventArgs e)
{
await StaticClass.MyFunction();
}

private void stop_button_Click(object sender, RoutedEventArgs e)
{
StaticClass.stopFlag = true;
}

public static Task myFunction()
{
//Stuff Happens

while(StaticClass.stopFlag == false)
//Do Stuff

//Stuff Happens

return Task.FromResult(1) //I know this is bad, part of the reason I'm asking
}
Ich hatte auf eine Anleitung gehofft, ob ich das richtig angehe, und auf einen Einblick, was ich falsch mache.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post