Используйте ListView ItemsSource
и привяжите его к коллекции объектов, содержащих ваш путь к изображению и ваше поле Id
<ListView ItemsSource="{Binding MyCollection}"
SelectedValuePath="Id"
SelectedValue="{Binding SelectedId}">
<ListView.ItemTemplate>
<DataTemplate>
<Image Source="{Binding ImagePath}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
В DataContext вашего ListView у вас будет
public ObservableCollection<MyItem> MyCollection;
public int SelectedId;
где MyItem
- это просто класс, который выглядит следующим образом:
public class MyItem
{
public int Id { get; set; }
public string ImagePath { get; set; }
}
Или, в качестве альтернативы, если вы не заинтересованы в хорошем дизайне, просто используйте свойство Tag
ListViewItem
<ListViewItem Tag="1">