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 ...
Get Programming WPF, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.