界面控件定义:
<Image VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Name="ImgCard2"> </Image>
线程中调用的方法:
protected void SetCardInfo(PersonMod personObj)
{
try
{
string imagePath = @personObj.ImageUrl;
object[] dd = { imagePath };
getImgCardHandler = new GetImgCard(ChangeImg);
this.ImgCard2.Dispatcher.Invoke(getImgCardHandler, dd);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
委托定义:
private delegate void GetImgCard(string imgurl);
GetImgCard getImgCardHandler;
private object lockimg=new object();
赋值:
private void ChangeImg(string imgurl)
{
lock (lockimg)
{
BitmapImage images = new BitmapImage(new Uri(imgurl, UriKind.Absolute));
ImgCard2.Source = images;
}
}