As in the title, the event is not fired when the code is executed in the BackgroundAgent
while it works fine when I execute it in my main app.
Here's my code:
var background = new BitmapImage(new Uri(uri), UriKind.Absolute)){ CreateOptions = BitmapCreateOptions.None };
background.ImageFailed += (s, e) =>
{
Debug.WriteLine(e);
// Nothing happens here so I guess that there's no error in the image loading
};
background.ImageOpened += (s, e) =>
{
Debug.WriteLine("ImageOpened");
// This line is never printed no the event is never thrown
};
Everthing is running in a Dispatcher
thread, and I'm trying to load a remote image (I can't cache it because it's a dynamic image generated by a php
page).
Any hint?
EDIT:
Here's the code based on @l3arnon's suggestion:
var backgroundImage = new BitmapImage { CreateOptions = BitmapCreateOptions.None };
backgroundImage.ImageOpened += (s, e) =>
{
Debug.WriteLine("ImageOpened");
};
backgroundImage.UriSource = new Uri(uri);
still no success though.
My only guess it that it loads the image so fast that you register the event handler too fast. Try first creating the BitmapImage instance and then setting a uri
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With