This is a very open ended question. You will want to use a ListView a DataTemplate. Bind to a collection in the ViewModel. The collection could be string, and then use a Converter to use the correct template, or you can have a collection that is a class that contains the name of the file and the image (or path to the image.
Here is possible XAML:
<ListBox ItemsSource="{Binding Path=FileNames}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" >
<Image Source="{Binding ImagePath}" />
<TextBlock Text="{Binding FileName}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
There is still a lot of work to do since you have to create the ViewModel, and fill it.