同一组件上的多个图像(图像占位符)

时间:2014-07-21 10:24:42

标签: xaml windows-phone-8

在我的应用中,我从网址加载图片。

<Image Source="{Binding Image}" />

我想提前从当地加载一张小图片。完全下载远程图像后,替换或覆盖此本地图像。

有没有简单的方法来实现这个功能?

例如div中的多个背景图像。 http://css-tricks.com/stacking-order-of-multiple-backgrounds/

2 个答案:

答案 0 :(得分:1)

这是达到你想要的最简单方法;

<Grid>
    <Image Source="YourLocalImage" />
    <Image Source="{Binding Image}" />
</Grid>

因此,在您的应用中加载您的网址图片之前,您的本地图片将会显示加载URL图像后,将显示该图像。看,如果这有帮助。

答案 1 :(得分:0)

不是xaml中的内置功能......但这可以解决问题
首先,将本地图像位置作为图像属性中的值。然后,您需要有一个Image下载完成事件,以便您可以检测何时从远程位置成功下载Image。
在此事件中,您可以替换Image属性值,以便更改UI中的图像。但请确保定义了Image的类已实现INotifyPropertyChanged接口。

public class MyData : INotifyPropertyChanged{

     private string image;
     public string Image {
                   set{
                         Notify("Image");
                         image = value;
                    }
                    get{ return image; }
         }

   public event PropertyChangedEventHandler PropertyChanged;

   private void Notify(string propertyName)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }


 }