在我的應用程序,我從URL加載圖像。多個圖像在相同的組件(圖像佔位符)
<Image Source="{Binding Image}" />
我想從本地加載一個小圖像提前。在完全下載來自遠程的圖像後,替換或覆蓋此本地圖像。
有沒有簡單的方法來實現這個功能?
如div中的多個背景圖片。 http://css-tricks.com/stacking-order-of-multiple-backgrounds/
在我的應用程序,我從URL加載圖像。多個圖像在相同的組件(圖像佔位符)
<Image Source="{Binding Image}" />
我想從本地加載一個小圖像提前。在完全下載來自遠程的圖像後,替換或覆蓋此本地圖像。
有沒有簡單的方法來實現這個功能?
如div中的多個背景圖片。 http://css-tricks.com/stacking-order-of-multiple-backgrounds/
這是實現你想要的最簡單的方法;
<Grid>
<Image Source="YourLocalImage" />
<Image Source="{Binding Image}" />
</Grid>
所以,在你的應用程序,直到您的網址加載圖像,本地圖像將是可見的&網址一旦圖像加載,這將是可見的。看,如果這有幫助。
不是xaml中的內置功能......但是這樣做會有效。
起初,您將本地圖像位置作爲圖像屬性中的值。然後,您需要有一個圖像已下載完成的事件,以便您可以檢測何時從遠程位置成功下載圖像。
在此事件中,您可以替換圖像屬性值,以便它更改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));
}
}
}
謝謝!最重要的是把兩個圖像放在同一個網格中。 – Sars