我找到了解决这个问题的方法。首先在后面的代码中我使用了一个实现INotifyPropertyChanged
然后绑定图像控件的类,如下所示:
<Image Source="{Binding Logo}" />
到返回 an 的属性,ImageSource
如下所示:
private ImageSource logo = null;
public ImageSource Logo
{
get
{
return logo;
}
set
{
if (value!=logo)
{
logo = value;
NotifyPropertyChanged("Logo");
}
}
}
然后我将图像设置如下:
private ImageSource image =
new BitmapImage(new Uri("pack://application:,,,/Resources/logo.jpg"));
c.Logo=image;
现在每次我将图像控件绑定到此属性时,都会显示相同的图像,而不是创建两个图像控件:
<Image x:Name="image1"/>
<Image x:Name="image2"/>
然后为每个控件分配相同的图像
var bitmap = new BitmapImage(new Uri("pack://application:,,,/Resources/image.jpg"));
image1.Source = bitmap;
image2.Source = bitmap;