代码之家  ›  专栏  ›  技术社区  ›  vodkhang

图像控制异步

  •  1
  • vodkhang  · 技术社区  · 14 年前

    我有一个图像控件,我希望它通过网络异步加载图像。我在网络上看到一些示例代码,比如:

    <Image HorizontalAlignment="Left" Height="118" Margin="2,8,0,0" VerticalAlignment="Top" Width="167" x:Name="ImageThumbnail" Source="{Binding SummaryImageLink, IsAsync=True}" />

    然而,在 Windows Phone 7 ,我找不到这样的东西。有人知道不用我自己编很多代码就能做到吗

    3 回复  |  直到 14 年前
        1
  •  1
  •   Ben Gracewood    14 年前

    不幸的是,您必须自己编写或包含更多的代码才能正确地执行此操作。我有一个类似的解决方案,目标是在第一次下载后缓存图像。图像缓存类是通过IValueConverter访问的,因此一旦包含了适当的代码,就只需在图像对象上添加一个decorator:

    <Image Source="{Binding ElementName=ImageSource, Path=Text, Converter={StaticResource imageCacheConverter}}" Width="200" />
    

    详细信息和源代码如下: http://www.ben.geek.nz/2010/07/one-time-cached-images-in-windows-phone-7/

        2
  •  1
  •   Mick N    14 年前
        3
  •  0
  •   Francesco De Vittori    14 年前

    或者,您可以异步下载图片(例如,使用BackgroundWorker),并仅在下载完成时将其分配为图像控件的源。