我想在我的基于C#的应用程序中添加进度条。我想知道在特定事件中更新其价值的好方法是什么? 我的问题是,我在UI中有单个功能,它完成所有处理。这个函数依次调用更多函数,创建对象,更新数据库等(基本上执行所有工作)并在输出文件中返回值。我只能访问该功能。那么在这里如何在每一步结束时更新进度条的值?
这种情况的最佳做法是什么?保持UI逻辑和业务逻辑分离的好方法是什么?我想避免在我的库代码中写入与进度条相关的代码。
请提出一些解决方案。 谢谢和问候,
答案 0 :(得分:3)
如果你有一个类是你的“工人类” - 你称之为单个函数的类 - 那么你可以在该类上创建一个Progress
属性。然后,随着操作的进行,更新该属性的值并抛出一个事件以指示它已被更改。
您可以定义特定的ProgressChanged
事件,或者,如果您正在使用数据绑定,请使用INotifyPropertyChanged
接口。
然后在您的UI中:使用数据绑定,或者专门侦听该事件并相应地更新进度条。