【问题标题】:Not able to run BusyIndicator with BackgroundWorker in Wpf无法在 Wpf 中使用 BackgroundWorker 运行 BusyIndi​​cator
【发布时间】:2016-10-31 21:27:09
【问题描述】:

我有两个窗口。我的 mainWindow 和带有 busyIndi​​cator 的窗口。 我正在使用 BackgroundWorker 和 Dispatcher 在主窗口中完成工作(计算和用户界面),同时我想显示busyIndi​​cator。但是只有窗口显示没有busyIndi​​cator。

        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(); 

有什么我做错了吗? 谢谢

【问题讨论】:

    标签: c# wpf multithreading busyindicator


    【解决方案1】:

    立即委托回 UI 线程的后台工作人员是非常无用的。做你想做的工作:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-05
      • 1970-01-01
      • 2011-03-27
      • 2018-05-30
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多