Как говорит Дани, в WPF это очень просто. Чтобы дать вам представление о том, насколько это просто, вот как вы можете это сделать с помощью инструмента конструктора Expression Blend или с помощью кода:
Если вы просто перетащите ListBox в окно WPF или UserControl, а затем в окне «Свойства» в свойстве ItemTemplate выберите «Новый шаблон», вы получите ListBox с пользовательским шаблоном. Создайте панель (например, DockPanel) внутри шаблона и перетащите в нее метки, флажки, текстовые поля и другие элементы управления.
Следуя этой процедуре, дизайнер создаст XAML, подобный следующему:
<ListBox ItemsSource="{Binding myItems}">
<ListBox.ItemTemplate>
<DataTemplate TargetType="{x:Type MyItemType}">
<DockPanel>
<Label Content="Hello:"/>
<CheckBox Content="Click Here" />
<TextBox Text="Here is my text" />
</DockPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
В качестве альтернативы вы можете просто написать XAML самостоятельно. Удивительно, как легко это сделать с IntelliSense.