silverlight 4 datagrid busyindicator刷新大量的行

问题描述:

我有一个DataGrid,我加载了大量的行(几百)。silverlight 4 datagrid busyindicator刷新大量的行

加载行的过程导致Datagrid在数据由控件“处理”时暂时为空,然后几秒钟后控件完成其工作并按预期显示行。

它的'几秒钟',我想向用户显示一个BusyIndi​​cator,否则他们看到一个未加载的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指标。

希望它有帮助!