在上篇开发技巧《Windows Phone 实用开发技巧(18):使用SystemTray显示全局消息提醒》 中介绍了Mango中新增的API ProgressIndicator的使用,以两个小Demo展示了它的作用,其实还有一个非常实用的属性IsIndeterminate可以用来显示正在busy的状态。
用过mango真机的童鞋有没有注意到,短信界面中可以登录当前的MSN,上面的状态显示条就是使用的 ProgressIndicator。 还有Office中的"Getting your document from skydrive"也是使用的ProgressIndicator。可见ProgressIndicator是一个显示当前状态很好的途径。
我们来重写全局的GlobalIndicator (给了一个新的名字~~)
可以看到增加了一个Navigating事件的“劫持”,这是由于在某个页面你可能正在忙,但是到其他页面你不一定会忙,所以需要将IsBusy清掉,这一点非常重要!
下面是IsBusy属性中做的事情,设置SystemTray是否可见,设置是否显示进度等
下面是Text属性的设置,设置进度条上显示的文本,可惜的是我们只能设置纯文本,以及文本的颜色
Demo是一个博客园的博客订阅器显示的,我们向网络发起请求,显示正在获取订阅,获取到后,显示去掉,具体的效果可以自行运行源代码。
获取到数据后,显示进度去掉