List Controls
WPF offers several controls that can present multiple items.
ListBox, ComboBox, and ListView can all present a linear sequence of
items. TreeView presents a hierarchy
of items. The TabControl may not seem
like an obvious relative of the ListBox, but it shares the basic features: it
presents a sequence of items (tab pages) and lets the user choose which
is the current item. All of these controls share a common base class,
ItemsControl.
The simplest way to use any of these controls is to add content to
their Items property. Example 5-16 shows the markup for a ComboBox with various elements added to its
Items.[24]. This example illustrates that all list controls allow any
content to be used as a list item—we're not restricted to plain text.
This content model makes these list controls much more powerful than
their Win32 equivalents.
Example 5-16. Content in Items
<ComboBox>
<Button>Click!</Button>
<TextBlock>Hello, world</TextBlock>
<StackPanel Orientation="Horizontal">
<TextBlock>Ellipse:</TextBlock>
<Ellipse Fill="Blue" Width="100" />
</StackPanel>
</ComboBox>You also can use this technique with ListBox, TabControl and ListView. (TreeView is a little more involved, as the
whole point of that control is to show a tree of items, rather than a
simple list. We'll see how to do that later.) As you can see in Figure 5-18, each control
presents our items in its own way. The ListBox and ComboBox generate a line in the list for each
item. The ListView does something similar, although ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access