0

有没有最好的方法来管理具有异步执行命令的 WPF 应用程序中的表单?

1)假设您有一个表单,用户输入他的所有数据并单击“确定”按钮以保存更改。

2) 您的 WPF 应用程序启动一个异步方法来记录这些数据。

3) 现在假设数据库服务器已关闭,操作大约需要 15 秒才能完成。此时,用户已经关闭了 WPF 表单(他没有等待事务完成)。

所以这就是我的问题:您如何控制何时让用户关闭或不关闭表单?

谢谢你

4

2 回答 2

1

简单的回答...在操作完成之前不要让用户关闭表单。

您可以使用模态无限滚动进度条来完成此操作。它向用户提供您的应用程序正在做某事的反馈......但不会让用户关闭他们正在工作的窗口。

这允许您在 UI 线程之外运行您的代码,然后当您的代码完成时(完成或出错),您可以向用户提供有关发生的事情的反馈(成功或发生了什么事情,他们需要再次保存)。

于 2009-09-28T14:01:01.723 回答
0

我建议您在启动异步操作时禁用表单中的控件。这提供了表单状态已更改的即时反馈。但是,如果可以取消操作,您仍然应该允许用户取消/关闭表单。关闭表单应该会取消操作。

如果您希望操作花费的时间超过几秒钟,您应该显示某种反馈,例如进度条。然后应该在与进度条视觉关联的控件上取消操作。

请不要在操作成功完成时显示无用的模态消息框。不仅要等待操作,而且要在操作完成后单击“确定”,这真的很烦人。

David PollActivity为 Silverlight 创建了一个控件,您可能会从中获得一些灵感。

于 2009-09-28T14:10:23.240 回答