I'm working on a new application that use a lot of reflection and have some problem to populate a combobox. 

I have a parameter class with some information about a parameter for specific method: 

```
   class Parameter
    {
        public string Name { get; set; }

        public Type Type { get; set; }

        public object Value { get; set; }
    }

```

I also have a view with a DataTemplateSelector that pick different DataTemplated depending on the parameter type:

```
class ParameterDataTemplateSelector : DataTemplateSelector
{
    public DataTemplate StringDataTemplate { get; set; }
    public DataTemplate BoolDataTemplate { get; set; }
    public DataTemplate EnumDataTemplate { get; set; }
    public DataTemplate NullTypeDataTemplate { get; set; }

    public override DataTemplate SelectTemplate(object item, DependencyObject container)
    {
        var parameter = item as Parameter;
        if (parameter.Type == null)
        {
            return NullTypeDataTemplate;
        }
        if (parameter.Type == typeof (int)
            || parameter.Type == typeof(string))
        {
            return StringDataTemplate;
        }
        if (parameter.Type.BaseType == typeof (Enum))
        {
            return EnumDataTemplate;
        }
        return BoolDataTemplate;      
    }
}

```

And in my XAML I have my different templates: 

```
<UserControl x:Class="Stuff.UI.Views.ParametersView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:dataTemplateSelectors="clr-namespace:Stuff.UI.Common.DataTemplateSelectors"
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">

    <UserControl.Resources>
        <DataTemplate x:Key="StringDataTemplate">
            <StackPanel>
                <Label Content="{Binding Name}"/>
                <TextBox Text="{Binding Value}" />
            </StackPanel>
        </DataTemplate>
        <DataTemplate x:Key="BoolDataTemplate">
            <StackPanel>
                <CheckBox Content="{Binding Name}" IsChecked="{Binding Value}"/>
            </StackPanel>
        </DataTemplate>
        <DataTemplate x:Key="EnumDataTemplate">
            <StackPanel>
                <ComboBox ItemsSource="{Binding >>something<<}"/>
            </StackPanel>
        </DataTemplate>
        <DataTemplate x:Key="NullDataTemplate">
            <StackPanel>
                <Label Content="NULL TYPE"/>
            </StackPanel>
        </DataTemplate>

        <dataTemplateSelectors:ParameterDataTemplateSelector
            StringDataTemplate="{StaticResource StringDataTemplate}"
            BoolDataTemplate="{StaticResource BoolDataTemplate}"
            EnumDataTemplate="{StaticResource EnumDataTemplate}"
            NullTypeDataTemplate="{StaticResource NullDataTemplate}"
            x:Key="ParameterDataTemplateSelector"/>

    </UserControl.Resources>
    <Grid x:Name="MainGrid">
        <StackPanel Background="#dddddd">
            <Label Content="Parameters" Background="#e1db45"></Label>
            <ScrollViewer VerticalScrollBarVisibility="Auto" Height="Auto" Margin="10">
                <ItemsControl ItemsSource="{Binding Parameters}" ItemTemplateSelector="{StaticResource ParameterDataTemplateSelector}">
            </ItemsControl>
            </ScrollViewer>
        </StackPanel>
    </Grid>
</UserControl>

```

So the problem is my combobox here: 

```
        <DataTemplate x:Key="EnumDataTemplate">
            <StackPanel>
                <ComboBox ItemsSource="{Binding >>something<<}"/>
            </StackPanel>
        </DataTemplate>

```

How can I populate it when I only have a type (and I know by checking that it is a Enum type)? Or should I do it in code-behind in some way? I'm a bit lost here and pretty new to MVVM and WPF in general.