As Dani says, it is very easy in WPF. To give you an idea of how simple it is, here is how you would do it using the Expression Blend designer tool or using code:
If you just drag a ListBox onto a WPF Window or UserControl, then in the Properties window at the ItemTemplate property select "New Template", you will get a ListBox with a custom template. Create a panel (such as DockPanel) inside your template and drag Labels, CheckBoxes, TextBoxes and other controls into it.
By following this procedure, the designer will create XAML similar to the following:
<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>
Alternatively you can just write the XAML yourself. It's amazing how easy it is to do so with IntelliSense.