none
UI Update vor Thread.sleep() in MainPage RRS feed

  • Frage

  • Hallo,

    ich möchte den Text einer TextBox ändern und danach ein sleep() machen. Doch anscheinend kommt der sleep() so schnell, das der Thread die GUI nicht mehr aktualisieren kann. Kann ich ein repaint/redraw/updateUI iregdnwie erzwingen?

    textBox.Text = "rolling...";
    Thread.Sleep(1500);

    //EDIT: Ein BackgroundWorker hilft mir nicht, da ich die App schlafen legen will, sodass auch keine Events mehr gefeuert werden!

    Bin für jeden Tipp dankbar! :)


    Donnerstag, 3. Mai 2012 18:33

Antworten

  • Hi,

    konkret kannst du das mit einem Storyboard fast ohne Quellcode machen. Da brauchst du dem Mainthread nicht zu blocken...

    Gruß, Peter


    This posting is provided "AS IS" with no warranties, and confers no rights.

    Freitag, 4. Mai 2012 11:12
  • Hallo,

    ich habe es wie folgt gelöst:

    if (isRolling)
    return;

    isRolling = true;

    this.Dispatcher.BeginInvoke(() =>

    { rollText.Text = Localization.Language.Rolling; timer = new DispatcherTimer(); timer.Interval = new TimeSpan(0, 0, 3); timer.Tick += new EventHandler(timer_Tick); timer.Start(); });


    Innerhalbs des Timers stopp ich den ihn wieder!


    Mittwoch, 9. Mai 2012 16:49

Alle Antworten