Dies ist eine sehr oberflächliche Frage, denn ich habe keine Ahnung, wie dieses Problem zu lösen. Ich habe viel gesucht, aber nichts gefunden, weil ich keine Schlüsselwörter dafür kann.Füllen laufende Aufgabe mit String als Parameter
Zuerst schauen Sie sich dieses Bild bitte:
ich eine statusbar
erstellen möchten. In diesem Beispiel möchte ich den Status "Hello World" setzen. Dazu habe ich eine neue Aufgabe erstellt und den String "Hello World" angezeigt. Nach 5 Sekunden sollte der Status gelöscht werden. Hier ist mein Code dafür:
//command to set a new status
//this will be executet from another method
await this.SetStatusMessage("Hello World");
public async Task SetStatusMessage(string pStatusMessage)
{
await Task.Run(async() =>
{
this.Dispatcher.Invoke(() =>
{
this.txtStatusMessage.Text = pStatusMessage;
});
await Task.Delay(5000);
this.Dispatcher.Invoke(() =>
{
this.txtStatusMessage.Text = "";
});
});
}
Mein Problem ist jetzt, dass ich manchmal einen neuen Status gesetzt werden soll, während der alte Zustand noch aktiv ist. In diesem Fall sollte der alte Status überschrieben werden und die await Task.Delay(5000);
sollte zurückgesetzt werden und mit dem Zählen von 0 beginnen. Nach 5000 ms ohne Eingabe innerhalb dieser Task sollte der Ausgang gelöscht werden.
Es wäre schön, wenn jemand von mir mir ein paar Ideen oder ein Stichwort geben könnte. Vielen Dank.