Q:

Displaying Images from disc in Image Component

I have an app that cycles through screenshots taken from my game. My current solution works for the first image, but after I cycle images it is not refreshing. My PropertyChanged event is configured and running fine. Only the image is not working.
My code for displaying is:
<Image DataContext="{StaticResource IMG}" Stretch="UniformToFill">
   <Image.Source>
      <BitmapImage UriSource="{Binding Image}"/>
   </Image.Source>
</Image>

and then my code behind retrieves the absolute Uri and is set via the bindings.
How might I get this working?

A:

I don't believe UriSource on the BitmapImage class will trigger the reload/re-render of the Image; Image.Source works, however:
void Main()
{
    var firstUri= new Uri("http://www.gravatar.com/avatar/2e8b6a4ea2ee8aedc49e5e4299661543?s=128&d=identicon&r=PG");
    var secondUri= new Uri("http://www.gravatar.com/avatar/23333db13ce939b8a70fb36dbfd8f934?s=32&d=identicon&r=PG");

    var wnd = new Window();
    var pnl = new StackPanel();
    wnd.Content = pnl;

    var img = new Image()
    {
        Source = new BitmapImage(firstUri),
        Stretch = Stretch.UniformToFill,
    };
    wnd.Show();
    pnl.Children.Add(img);

    // Optional; just need something to change the img src
    Observable
        .Timer(TimeSpan.FromSeconds(2))
        // The next line is roughly equivalent to invoking on
        // the Dispatcher (i.e., marshalling back to the UI thread)
        .ObserveOn(new DispatcherScheduler(wnd.Dispatcher))
        .Subscribe(_ =>
        {
            img.Source = new BitmapImage(secondUri);
        });
}

