WPF ComboBox: liste statique de ComboBoxItems, mais databound SelectedItem?

Dans mon application WPF, j'ai un ComboBox qui est rempli avec une liste statique de ComboBoxItems parce que son contenu ne changera jamais. Cependant, parce que je veux databind la SelectedItem à mon sous-jacent ViewModel, je veux que chaque ComboBoxItem d'avoir aussi une valeur distincte, qui doit être assigné à mon ViewModel de la propriété. Et je vais avoir un peu de mal à le faire fonctionner.

Mon ComboBox déclaration ressemble à:

    <ComboBox Height="23" HorizontalAlignment="Stretch" Margin="2" Name="comboBox1" VerticalAlignment="Top"
              SelectedItem="{Binding Path=Amount, Mode=TwoWay}" SelectedValuePath="Tag" >
        <ComboBoxItem Content="None" Tag="0" />
        <ComboBoxItem Content="Few" Tag="1" />
        <ComboBoxItem Content="Some" Tag="2" />
        <ComboBoxItem Content="Enough" Tag="3" />
        <ComboBoxItem Content="Lots" Tag="4" />
        <ComboBoxItem Content="Too much" Tag="5" />
    </ComboBox>

La SelectedItem de cette zone de liste déroulante est lié à ce Dernier du Montant de la propriété, qui est déclarée comme un entier:

public class MyViewModel : INotifyPropertyChanged
{
    private int _amount = 3;

    public int Amount
    {
        get { return _amount; }
        set
        {
            _amount = value;
            OnPropertyChanged("Amount");
        }
    }

    //...
}

J'espérais que SelectedValuePath="Tag" dira WPF qu'il doit utiliser la valeur de Balise de lier le ViewModel de la Quantité des biens, mais quand je lance cette application et de modifier la zone de liste déroulante de l'élément sélectionné, la trace de débogage me dit:

System.Windows.Data Error: 23 : Cannot convert 'System.Windows.Controls.ComboBoxItem: Some' from type 'ComboBoxItem' to type 'System.Int32' for 'en-US' culture ...
System.Windows.Data Error: 7 : ConvertBack cannot convert value 'System.Windows.Controls.ComboBoxItem: Some' (type 'ComboBoxItem'). (...) System.NotSupportedException: Int32Converter cannot convert from System.Windows.Controls.ComboBoxItem.

Apparemment, il tente de lier l'ensemble de la ComboBoxItem à mon ViewModel, et pas seulement la valeur du Tag.
Ce que je fais mal?

source d'informationauteur Astrotrain