Question: I have a user control on a page and I'd like to load another custom user control within it's grid. However I want the user control type to be dynamic - e.g selecting "Calculator" from a drop down list would display my custom calculator control and selecting "Currency Converter" would load my currency converter. Can anybody help?

By the way I am trying to stick to MVVM.

Thanks in advance.

Answer: 
One way is to define multiple `DataTemplates` one for each child. As user selects the option set the corresponding `ViewModel` to a `ContentControl's DataContext` present in parent view and framework will pick the corresponding view for you.
John Papa has written a great blog post on exactly how to do this [here](http://johnpapa.net/loader-custom-control-dynamically-loading-user-controls-in-silverlight-2).

The basic strategy is to instantiate a new instance of a class that derives from UserControl once selected from the drop down.

In other words, the SelectionChanged event of the drop down list could be handled and a new UserControl object created based on the selected item.