-1

我实际上是一名 Android 开发人员,当我将大量图像加载到ListBox.

ListBox我对 Windows Phone 应用程序开发一无所知,所以请建议一个更好的解决方案,从 Windows Phone 中的 URL加载大量图像。

代码如下:

 public class listboxrows
    {
        public string text1 { get; set; }
        public string imageUri { get; set; }
        public string text2 { get; set; }
        public string instID { get; set; }
    }

      <Image Grid.Column="0" Width="90" Height="90" Source="{Binding imageUri}" ></Image>

我想知道这是否是从 url 加载图像的有效方法。

如果我有大量图像,它将显示内存异常。

建议我一个更好的选择,我可以在没有任何内存异常的情况下有效地加载任意数量的图像。

是否有任何外部项目可以实现我的目标?

4

2 回答 2

0

我认为这篇文章会有所帮助。

  • 永远不要将服务器托管的图像直接绑定到控件,因为 Silverlight 运行时将使用 UI 线程(使用 WebClient)从服务器获取该图像,这可能会使 UI 在一段时间内无响应。

  • 使用后台线程和基于 HttpWebRequest 类的实现以一种有效的方式下载图像数据,最终创建 BitmapImage 并将其设置为源。一个干净的 MVVM 包装器将使您的整个图像管理变得非常容易。

于 2013-07-19T09:28:22.470 回答
0

虽然我还没有编写实际代码来测试这一点,但我认为正确的方法是确保您使用数据虚拟化。本文提供了一个很好的示例(尽管它讨论了 Windows Phone 7 开发,但它仍然适用)。

如果确实有大量数据要显示,您可能希望进一步了解本文中的方法,该方法进一步优化工作以在ListBox.

当然,标准的免责声明是用户必须滚动浏览大量项目的 UI 不一定总是最好的方法。

于 2013-05-13T11:59:08.733 回答