WPF: Comment gérer les erreurs avec un BackgroundWorker



multithreading exception (1)

Je suis un peu novice en matière de programmation client Windows. J'ai un travailleur d'arrière-plan qui a un événement DoWork et un événement RunCompleted câblé. Si une exception est levée dans DoWork, je veux apporter des modifications à mon interface utilisateur, mais je ne peux pas parce que c'est dans un thread différent. Je peux communiquer l'erreur à RunCompleted, mais cela ne m'aide pas non plus.


appelez Dispatcher.BeginInvoke. Fondamentalement, vous voulez du code comme ceci:

void UpdateState(WhatEverType someObject)
{
    if (! Dispatcher.CheckAccess())
    {
        Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(()=>UpdateState(someObject));
    }
    else
    {
        //make the UI changes here.
    }
}




backgroundworker