Возможно, вы сможете заставить его работать, используя TargetNullValue
на привязке, устанавливайте свойство изображения только тогда, когда оно загружено.
, например
<BitmapImage x:Key="DefaultImage" UriSource="Images/Error.ico" />
<Image Source="{Binding TestBitmapImage,
TargetNullValue={StaticResource DefaultImage}}" />
private BitmapImage _TestBitmapImage = null;
public BitmapImage TestBitmapImage
{
get { return _TestBitmapImage; }
set
{
if (_TestBitmapImage != value)
{
_TestBitmapImage = value;
PropertyChanged.Notify(() => this.TestBitmapImage);
}
}
}
private void Button_Click(object sender, RoutedEventArgs e)
{
var img = new BitmapImage();
img.DownloadCompleted += (s, dcea) =>
{
TestBitmapImage = img;
};
img.BeginInit();
img.UriSource = new Uri("http://www.gravatar.com/avatar/c35af79e54306caedad37141f13de30c?s=128&d=identicon&r=PG");
img.EndInit();
}