首页 > 解决方案 > 如何将进度消息异步发送到 WPF UI

问题描述

我已经有一个 WPF 应用程序,它执行不同的操作,例如读取 excel、将数据写入 excel。但完成操作需要一些时间,用户不知道后台发生了什么。所以为了缓解这个问题,计划在 UI 中创建一个进度条,但现在的问题是,我被要求创建一个单独的 WPF 应用程序,以便它可以与任何应用程序一起使用,而不是在同一个应用程序中创建进度条。其他有类似问题的应用程序。

现在我需要从任何现有应用程序向我的新应用程序发送步骤完成消息列表。为此,我需要创建一个可以插入任何现有应用程序的通用自定义类或方法。自定义方法将有一个字符串作为输入参数,以便我可以将完成的步骤名称作为输入参数值传递。

可以在任何现有应用程序的任何方法内的任何位置调用此自定义方法。我还需要将这些消息传递给我的新进度条应用程序。我不确定如何实现这一目标以及我应该遵循哪种方法。

有人可以用一些例子给我建议吗

例如:

public static void ReadData(string fileName)
{
  //Step 1
  code for reading file
  abc.mycustommethod("Step1 completed");

  //Step 2
  code for data validation
  abc.mycustommethod("Step2 completed");

  //Step 3
  code for data manipulation
  abc.mycustommethod("Step3 completed");
}

public class abc
{

  public List<string> mycustommethod(string message)
  {
   // logic to store all the messages during each and every method call
   // return listofsavedmessages
  }

}

标签: c#.netwpfwinforms

解决方案


推荐阅读