Антон: так и нужно на xaml верстать, если конечно не хотите убить всю прелесть разработки под WPF, ну и MVVM что такое посмотрите. Вам нужно переопределить ItemTemplate
Не знаю, а я делаю, наверное по-колхозному, создаю пользовательский элемент управления со всеми полями, оформляю его как надо, а потом при разборке данных из базы данных кидаю их в эти элементы. А элементы управления бросаю в список (не помню ListBox, кажется, да в любой можно, тока их там позиционировать нужно будет). Правда XAML не использую
ItemsControl в качестве хранилища. Описываете ItemTemplate для отображения каждого элемента. ItemsPanel или ItemsPanelTemplate описывает "холст" - хотите плитками, хотите слева-направо, хотите сверху-вниз.