Вы можете использовать ListBox и установить его свойство ItemsSource в список, содержащий ваши элементы данных. Затем вы определяете DataTemplate для вашего типа следующим образом:
<DataTemplate x:Key="MyDataTemplate" DataType="{x:Type MyType}">
<StackPanel>
<TextBlock Text="{Binding ID}"/>
<TextBlock Text="{Binding Name}"/>
<TextBlock Text="{Binding Description}"/>
</StackPanel>
</DataTemplate>
... и скажите ListBox использовать этот шаблон данных, задав свойство ItemTemplate
.
Также достаточно просто определить DataTemplate, как указано выше, и не давать ему ключа. Тогда он будет использоваться для всех предметов, которые имеют соответствующий тип.
Кстати: более подробный пример можно найти в MSDN на странице свойства ItemTemplate
.