I want to create a simple window that would display different controls (SpinEdit
or TextEdit
) based on the view-model that is selected.
I h
You do not need a DataTemplateSelector. WPF provides a mechanism that automatically selects a DataTemplate for the ContentTemplate of a ContentControl according to the type of a Content.
As explained in DataTemplate.DataType:
When you set this property to the data type without specifying an x:Key, the DataTemplate gets applied automatically to data objects of that type.
So drop the x:Key
value and your DataTemplateSelector, set DataType
and bind the ContentControl's Content to a property that returns either a TInputValueVM or a TInputTextVM:
The appropriate DataTemplate will now be selected automatically.