Can I ask one more question to this discussion. Its not realy clear for me.
You write CloseViewModelOnUnloaded is only for tabcontrol. But only for tabcontrol extended. Not with normal tabcontrol.
It also don't works with combobox, when you choose an other value in an combobox a new viewmodel is generated. But with listview it works. When you choose an other value in an listview it don't loose the viewmodel.
Example: The following ist an listview with binding to an observable Collection with model. The items are defined as catel:usercontrol in datatemplate.
- select value1 and the viewmodel vmv1 is generated.
- select value2 and vmv2 is generated.
- select value1 again and vmv1 is used again
Try this with an combobox then always when you select an other value the old viemodel ist closed.