WrapPanel
WrapPanel works just like a
StackPanel until it runs out of
space. If you provide a horizontal WrapPanel with more children than will fit in
the available width, it will arrange its content in a way similar to how
a word processor lays out words on a line. It puts the children in a row
from left to right until it runs out of space, at which point it starts
on the next line.
WrapPanel is very simple to
use. Just as with a StackPanel, you
add a sequence of children, as Example 3-3
shows.
Example 3-3. WrapPanel
<WrapPanel Background="Beige"><Button>One</Button> <Button>Two</Button> <Button>Three</Button> <Button>Four</Button> <Button>Five</Button> <Button>Six</Button> <Button>Seven</Button> <Button>Eight</Button></WrapPanel>
As Figure 3-4 shows, the items are arranged from left to right. As you can see from the panel's filled-in background, it is not wide enough to accommodate all the items, so the last three have been wrapped onto the next line.

Figure 3-4. WrapPanel
WrapPanel also offers an
Orientation property. Setting this to
Vertical will arrange the children in
a sequence of vertical stacks, a layout style very similar to Windows
Explorer's "List" view.
WrapPanel and StackPanel really are useful only for
small-scale layout. You will need to use a more powerful panel to define
the overall layout of your application, such as DockPanel.