Как использовать WPF Background Worker

В моем приложении мне нужно выполнить серию шагов инициализации, они занимают 7-8 секунд, в течение которых мой пользовательский интерфейс перестает отвечать. Чтобы решить эту проблему, я выполняю инициализацию в отдельном потоке:

public void Initialization()
{
    Thread initThread = new Thread(new ThreadStart(InitializationThread));
    initThread.Start();
}

public void InitializationThread()
{
    outputMessage("Initializing...");
    //DO INITIALIZATION
    outputMessage("Initialization Complete");
}

Я прочитал несколько статей о BackgroundWorker и о том, как он должен позволить мне поддерживать отзывчивость моего приложения без необходимости писать поток для выполнения длительные задачи, но я не добился успеха, пытаясь их реализовать, может ли кто-нибудь сказать, как я могу это сделать с помощью BackgroundWorker ?

174
задан ASh 21 October 2019 в 14:40
поделиться