<p>I'm trying to bind a list of custom objects to a WPF Image like this:</p>

<pre><code>&lt;Image&gt;
    &lt;Image.Source&gt;
        &lt;BitmapImage UriSource="{Binding Path=ImagePath}" /&gt;
    &lt;/Image.Source&gt;
&lt;/Image&gt;
</code></pre>

<p>But it doesn't work. This is the error I'm getting:</p>

<p><em>"Property 'UriSource' or property 'StreamSource' must be set."</em></p>

<p>What am I missing?</p>

You need to have an implementation of
IValueConverter
interface that converts the uri into an image.  Your Convert implementation of IValueConverter will look something like this:
```
```
BitmapImage image = new BitmapImage();
image.BeginInit();
image.UriSource = new Uri(value as string);
image.EndInit();

return image;
```
```
Then you will need to use the converter in your binding:
```
```
<Image>
    <Image.Source>
        <BitmapImage UriSource="{Binding Path=ImagePath, Converter=...}" />
    </Image.Source>
</Image>
```
```