You'll most often bind the contents of a ListBox to a collection of items that are all of the same type.
You can, however, add different types of objects to the same ListBox. Items in a ListBox can be either standard CLR objects or objects that derive from UIElement.
In the example below, we add several different types of objects to a ListBox.
<ListBox Margin="15">
<ListBoxItem>Simple string</ListBoxItem>
<local:Actor FullName="Liam Neeson" BirthYear="1952" KnownFor="Schindler's List"/>
<Button Content="Click Me"/>
<TextBox Text="zzz" Width="100"/>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Username:"/>
<TextBox Width="100" Margin="5,0"/>
</StackPanel>
</ListBox>
Read more: 2,000 Things You Should Know About WPF