背景:
由于项目需要从WCF service取数据,有些window/page/user control 不能在很短的时间内加载完。这样用户就不得不等待少则1~2秒,多则10+秒。对于用户来说TA是接收不了的。
解决方案:
1. 分布加载数据
2. 按需加载
3. 使用ObjectDependency
4. 使用进度条
下面的例子是利用deleate+模式的简单等待窗口
------------------------
Loading dialog(page1.cs)
------------------------
----------------------Common delegate start--------------------------------
public delegate void LoadingCallback();
----------------------Common delegate end----------------------------------
------------------------
Loading dialog(page2.cs)
------------------------
----------------------Loading dialog start--------------------------------
public partial class Loading : Window
{
public LoadingCallback CallbackDoSomething;
Thread loadingThread;
Window parent;
public Loading()
{
InitializeComponent();
}
public Loading(Window window)