如何在 TextBlock 和 ProgressBar 中显示进度?

How to show a progress in a TextBlock and ProgressBar?

我想显示我的 Excel 阅读程序的进度。 这里有一些代码:

public void ReadExcel()
    {
    //Do something (get Excel File...)

    txtProgress.Text += "Start";        

    int rows = exRng.Rows.Count;
    int column = exRng.Columns.Count;

    progProgress.Maximum = rows;//ProgressBar
    txtProgress.Text += "Start";//TextBlock

    for (int i = 1; i <= rows; i++)
    {
        progProgress.Value = i;         
        //Do something
        txtProgress.Text += "\n " + Name + " was created";
    }
}

ProgressBar 最大值是 excel 文件中的行数。在每个循环之后,TextBlock 应该显示名称已创建。 ProgressBar 值应显示进度。

我的 window 看起来像这样: Window with a Textblock at the top and a ProgressBar at the bottom

但 Window 仅显示 excel 读数的结尾。它不刷新 TextBlock 或 ProgressBar。我只看到空的 window 和最后这个 window: End of Progress

有人可以帮助我吗?谢谢

您应该使用 backgroundWorker 来实现此目的。 非常相似的例子详细讨论here

如果您在实施过程中遇到困难,请询问。