用于Sql连接的WPF SplashScreen

时间:2011-09-05 03:06:10

标签: wpf

在我的WPF应用程序中,我必须连接到远程服务器并检索/发送一些数据。

我希望在连接和通信过程中显示启动画面,并且在经过一定时间后会显示“取消操作”并且没有产生任何结果。

我希望有人可以指出我正确的方向...我正在考虑通过线程监视器,但我的应用程序非常简单和小,我不想浪费时间在如此复杂的事情上。如果有一个简单的答案我会很感激Smile | :)

注意:忘记使用简单的show或showdialog创建用户控件或窗口的想法。它不起作用。如果连接失败(我家常常发生),整个应用程序都会被冻结,甚至可以访问我用作启动画面的用户控件或窗口。对于SqlCommand.StatementCompleted事件也是如此,它也有同样的问题。

谢谢

2 个答案:

答案 0 :(得分:0)

在您的代码隐藏或ViewModel中,创建一个IsBusy标志,在更改时引发INotifyPropertyChanged.PropertyChanged事件。

设置活动时间后,将此标志设置为true(可以使用Timer实例完成此操作)。

在您的XAML中,绑定控件(例如Grid)仅在设置标志时才可见。

在此控件中,有一个绑定到命令(或Click事件)的取消按钮,该按钮执行它需要做的事情。

答案 1 :(得分:0)

我会使用后台工作者。

1)  Load your splash screen
2)  Kick off background worker to retrieve data (handle timeouts, errors in this method)
3)  In your background worker completed event -close your splash screen (or display errors, etc)
相关问题