2016-06-29 3 views
0

У меня есть два окна. Мой mainWindow и окно с busyIndicator. Я использую BackgroundWorker и Dispatcher для выполнения работы (вычисления и ui) в главном окне, в то время как я хочу показать busyIndicator. Но только окно показывает без busyIndicator.Не удалось запустить BusyIndicator с BackgroundWorker в Wpf

 BusyIndicator_Window busy = new BusyIndicator_Window(); 
     busy.Show(); 


     BackgroundWorker worker = new BackgroundWorker(); 

     worker.DoWork += (o, ea) => 
     { 

      Dispatcher.Invoke((Action)(() => 
       { 
        Plot.Plot_MV.startAnke(selectedFilePath, lw); 

       })); 
     }; 

     worker.RunWorkerCompleted += (o, ea) => 
     { 
      busy.busyIndicator.IsBusy = false; 
     }; 

     busy.busyIndicator.IsBusy = true; 
     worker.RunWorkerAsync(); 

есть ли что-нибудь, что я получил? Thanks

ответ

1

Фоновый работник, который немедленно делегирует обратно в поток пользовательского интерфейса, довольно бесполезен. Просто выполните работу, которую вы хотите сделать:

worker.DoWork += (o, ea) => 
{ 
    Plot.Plot_MV.startAnke(selectedFilePath, lw); 
}; 

 Смежные вопросы

  • Нет связанных вопросов^_^