c# - WPF 窗口加载的等待屏幕

标签 c# .net wpf wpftoolkit

我正在从某个窗口 window1 导航到 Mainwindow

在我的 MainWindow_loaded 方法中,我有太多计算,所以当我导航到主窗口时,窗口变白,直到所有计算完成并加载窗口

我在主窗口中尝试过

 private void MainWindow_Loaded_1(object sender, RoutedEventArgs e)

 BackgroundWorker worker = new BackgroundWorker();

       worker.DoWork += (o, ea) =>
        {
             do large computation
          };

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

               _busy.IsBusy = false;
          };
         _busy.IsBusy = true;
         worker.RunWorkerAsync();

}

但问题是它导航到 Mainwindow 时没有计算加载事件处理程序中的必要数据,甚至不在 UI 中显示等待栏? ? 是否可以在 MainWindow_Loaded 中显示等待栏和所有数据计算?

我已经将 ExtendedWpfToolkit 用于 _busy,它是忙碌指示器

最佳答案

您可以订阅您的后台 worker 以报告进度。

worker.WorkerReportsProgress = true;

现在您可以让您订阅的事件触发此进度报告。

worker.ProgressChanged += new ProgressChangedEventHandler(worker_ProgressChanged);

在此过程中,您可以创建一个进度条,它可以根据由您的计算触发的此 worker_ProgressChanged 事件自行更新。

看来您已经找到了 IsBusy,因此您可以让进度条仅在为真时显示。

关于c# - WPF 窗口加载的等待屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14814882/

相关文章:

.net - Elasticsearch.NET 故障转移似乎不排除死节点

c# - 找不到初始化文件 gs_init.ps

.net - 在 .NET 中使用不安全代码有限制吗?

wpf - ListBox 中的 TextBox、Button 和 ListBox

WPF 图像与 XAML

c# - 响应异步 SQL 调用完成

c# - log4net 日志记录不创建日志文件

c# - 使用 XML 序列化序列化没有父节点的集合

c# - SSIS 转换组件 : Large Scale Data Storage

c# - 在 Windows Phone 8.1 中动画网格的高度不是 "running"