From Rob's blog, I found a discussion about WPF support in CSLA.NET, specifically what to subclass for the containers.

I haven't played w/ the DataPanelBase, as it's discussed, but I'd be curious what Rockford would say about my discussion on subclassing panel.

If he's building a container to host arbitrary UI, but the user may want an arbitrary layout, I would push for Decorator. This would allow the user to specify any panel she wants.

A bit more Xaml is an okay trade-off to ensure a clean object model and straight-forward usage semantics.

As Rob mentions, Window and Page are great examples of generic containers that only support a single child.

StackPanel is particularly bad since it will give it's child an infinite measure/arrange in the vertical direction. This is really bad if you put in an ItemsControl because it will take up as much space as needed to render all of its items. This could both mess up the UI and slow things way down--virtualization doesn't help much if all of the items are visible.