在状态栏控件中延迟执行文本更改

时间:2010-03-15 12:51:40

标签: c# wpf

我的功能耗时耗尽 我想开始和结束操作似乎是用户(通过状态栏控件) 但是当执行功能时,两个文本都在函数结束时执行。 (用户无法看到“开始操作...”) 你向我推荐什么解决方案?

    private void btnUpdateDataBase_Click(object sender, RoutedEventArgs e)
    {
        TextBlockStatus.Text = "Start Operation ...";

        //Time consuming operation 

        TextBlockStatus.Text = "End Operation ...";
    }

1 个答案:

答案 0 :(得分:1)

您需要将执行移动到另一个线程。执行以下操作:

  1. 显示“处理”消息
  2. 产生另一个线程来执行计算
  3. 当线程完成处理时,它应该触发主线程中的事件
  4. 作为事件处理程序的一部分,将“处理”消息替换为“已完成”消息