silverlight 4 datagrid busyindicator刷新大量的行
我有一个DataGrid,我加载了大量的行(几百)。silverlight 4 datagrid busyindicator刷新大量的行
加载行的过程导致Datagrid在数据由控件“处理”时暂时为空,然后几秒钟后控件完成其工作并按预期显示行。
它的'几秒钟',我想向用户显示一个BusyIndicator,否则他们看到一个未加载的DataGrid。我很希望能找到一些符合“加载”和“加载”等事件的事件,所以我并相应地开启和关闭了指示器。
任何人都有这种情况的经验吗?
任何输入非常感谢。
我们正面临着SL3的确切问题,并希望SL4会更好。 但是,正如您可能已经猜到的那样,在此日期之前,Silverlight运行时无法解决这种情况。
我们采取了以下解决方法我们SL3/4 + WCF应用程序(我们不使用RIA服务注意):
1)wcfservice_LoadDataAsync()
前 - 展会繁忙指示
2)LoadDataAsyncCompletedEvent
- 如果arg.HasError()
隐藏忙指标,否则不要隐藏忙指标。
3)Databind数据网格,然后隐藏繁忙指标。
这种在UI级别隐藏繁忙指示符的方法可以使繁忙指示符显示一段较长的时间,从而减少空白屏幕显示给用户的时间。
此外,基于XAML的繁忙指标本身也引发了一些问题,因此我们最终实现了一个非常轻量级的基于HTML的繁忙指标,该指标将使用简单的div覆盖机制和动画GIF来禁用所需的UI部分。
所有这些结合减少了空白屏幕显示给用户的时间。
我知道这不是一个100%的解决方案,但随着Silverlight的最新版本甚至v5 Beta,仍然没有一个RenderComplete事件可以帮助隐藏Busy指标。
希望它有帮助!