Silverlight中大图片的加载进度

本文介绍如何在WPF应用中使用BitmapImage类结合DownloadProgress事件实现图片加载时的进度显示功能,通过简单的XAML布局和C#代码,可以在加载过程中实时更新进度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用System.Media.Imaging.BitmapImage类的DownloadProgress事件,再配合ProgressBar等控件即可做出进度条效果,下面代码中就只简单的使用TextBlock显示进度

1、MainPage.xaml代码

1: <Grid x:Name="LayoutRoot" Background="White">
2: <Image x:Name="img"/>
3: <TextBlock Text="正在加载 0%" x:Name="TxtLoading" HorizontalAlignment="Center" Foreground="Black" VerticalAlignment="Center" />
4: </Grid>

2、MainPage.xaml.cs代码

1: public partial class MainPage : UserControl
2: {
3: BitmapImage bitmapImage;
4: 
5: public MainPage()
6: {
7: InitializeComponent();
8: this.Loaded += new RoutedEventHandler(MainPage_Loaded);
9: }
10: 
11: private void MainPage_Loaded(object sender, RoutedEventArgs e)
12: {
13: bitmapImage = new BitmapImage();
14: img.Source = bitmapImage;
15: bitmapImage.UriSource = new Uri("http://192.168.178.222/test.jpg");
16: img.Stretch = Stretch.Fill;
17: bitmapImage.DownloadProgress += new EventHandler<DownloadProgressEventArgs>(bitmapImage_DownloadProgress);
18: }
19: 
20: private void bitmapImage_DownloadProgress(object sender, DownloadProgressEventArgs e)
21: {
22: TxtLoading.Text = string.Format("正在加载 {0}%", e.Progress);
23: }
24: }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值