积极答复者
Silverlight 2.0 RTW 装载UserControl 的webLoading怎么实现?

问题
-
三个Page.xaml、Ctrl.xaml、Deepzoom.xaml
Page.xaml中有Button1、Button2、Button...、Button... (类似菜单导航)
private void Button1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Canvas_Container.Children.Clear();Ctrl ctrl= new Ctrl(); //动态加载的控件,其中包含很多高清图片
Canvas_Container.Children.Add(ctrl);}
private void Button2_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Canvas_Container.Children.Clear();Deepzoom dp = new Deepzoom(); //动态加载的控件,其中包含很多高清图片
Canvas_Container.Children.Add(container);
}Ctrl.xaml、Deepzoom.xaml中都包含大量图片,考虑在加载这两个UserControl时加个webLoading,用来显示加载进度,不知道如何实现?请大侠帮忙!
答案
全部回复
-
Uri address = new Uri(HtmlPage.Document.DocumentUri, "ClientBin/Deepzoom.xap");//Ctrl.xap
WebClient webClient = new WebClient();webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(webClient_DownloadProgressChanged);
void webClient_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{//显示webloading,加载进度
}
WebClient 实际上是个下载器,2.0以前叫做Downloader 。这只是我的下策,是不是只能通过这种方式,才能得到控件加载进度呢?如果用这种方式的话,Ctrl.xaml、Deepzoom.xaml等所有的UserControl都做成.xap,这太麻烦了。虽然2.0 RTW中多了个ProgressBar的控件,但我不知道怎么得到加载控件的进度