Here is a great way to do this - How to create a WPF UserControl with NAMED content
my preferred is not the answer to the above question, rather the comment
"The answer is to not use a UserControl to do it.
Create a class that extends ContentControl"