I have in XAML 3 menu items defined (using WPF-MDI):
<MenuItem Header="_Generic" Name="Generic" ToolTip="Generic Visual Studio designer theme" 
          Command="{Binding Path=SelectGenericTheme}"/>
<MenuItem Header="_Luna" Name="Luna" ToolTip="Blue Windows XP theme"
          Command="{Binding Path=SelectLunaTheme}"/>
<MenuItem Header="_Aero" Name="Aero" ToolTip="Windows Vista/7 theme" 
          Command="{Binding Path=SelectAeroTheme}"/>
And the definitions of the commands and current selection in the ViewModel:
    public enum ESelectedTheme
    {
        Generic,
        Luna,
        Aero
    }
    ESelectedTheme _selectedTheme;
    ICommand _selectGenericThemeCommand;
    public ICommand SelectGenericThemeCommand
    {
        get { return _selectGenericThemeCommand ?? (_selectGenericThemeCommand = new RelayCommand(param => SelectGenericTheme(), 
            param => true)); }
    }
    void SelectGenericTheme()
    {
        _selectedTheme = ESelectedTheme.Generic;
    }
    ICommand _selectLunaThemeCommand;
    public ICommand SelectLunaThemeCommand
    {
        get
        {
            return _selectLunaThemeCommand ?? (_selectLunaThemeCommand = new RelayCommand(param => SelectLunaTheme(),
                param => true));
        }
    }
    void SelectLunaTheme()
    {
        _selectedTheme = ESelectedTheme.Luna;
    }
    ICommand _selectAeroThemeCommand;
    public ICommand SelectAeroThemeCommand
    {
        get
        {
            return _selectAeroThemeCommand ?? (_selectAeroThemeCommand = new RelayCommand(param => SelectAeroTheme(),
                param => true));
        }
    }
    void SelectAeroTheme()
    {
        _selectedTheme = ESelectedTheme.Aero;
    }
I have 2 questions (hope that is allowed inside one post):
- I want to bind the IsChecked property in XAML to the value that is selected (_selectedTheme). I think I need to write a converter but I don't know how.
 - I made 3 copies of ICommands (one for each theme) ... what if I would have 20 themes ... is there a way to make this code parameterized?
 
Thanks in advance.