【问题标题】:W 8.1 loading BitmapImageW 8.1 加载 BitmapImage
【发布时间】:2015-01-26 21:07:36
【问题描述】:

我正在从这样的 url 加载 BitmapImage;

Uri uri = new Uri(item.url, UriKind.Absolute);
ImageSource imgSource = new BitmapImage(uri);
Image.Source = imgSource;

代码运行良好,但有时加载图像需要很长时间,有一种方法可以检测图像是否已加载,以便在加载时启用进度控制?

【问题讨论】:

    标签: c# xaml windows-store-apps windows-8.1 bitmapimage


    【解决方案1】:

    MSDN 上BitmapImage.DownloadProgress event 页面的备注和示例:

    适用于异步加载和解码 BitmapImage 对象的情况 足够长以引起用户注意,应用程序可以处理 在源上下载进度并显示 ProgressRing 或 ProgressBar 来指示进度状态。这些可能会显示在 图像最终显示的 UI 区域或其他位置 用户界面。使用 DownloadProgressEventArgs.Progress 修改 UI 进度条。

    // somewhere in initialization
    bitmapImage.DownloadProgress += new EventHandler<DownloadProgressEventArgs>(bi_DownloadProgress);
    bitmapImage.ImageOpened += new EventHandler<ExceptionRoutedEventArgs>(bi_ImageOpened);
    ...
    //progressBar is an existing control defined in XAML or extracted from a XAML template
    
    void bi_DownloadProgress(object sender, DownloadProgressEventArgs e)
    {
        progressBar.Value = e.Progress;
    }
    void bi_ImageOpened(object sender, RoutedEventArgs e)
    {
        progressBar.Visibility = Visibility.Collapsed;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多