C# mise à Jour de zone de liste déroulante liée à la liste générique

J'ai une zone de liste déroulante sur mon formulaire qui est lié à une liste générique de chaîne comme ceci:

private List<string> mAllianceList = new List<string>();

private void FillAllianceList()
{
    //Add alliance name to member alliance list
    foreach (Village alliance in alliances)
    {
        mAllianceList.Add(alliance.AllianceName);
    }

    //Bind alliance combobox to alliance list
    this.cboAlliances.DataSource = mAllianceList;
}

L'utilisateur pourra alors ajouter ou supprimer des éléments dans la zone de liste déroulante.
J'ai lu ailleurs qu'il suffit d'ajouter ou de retirer l'élément dans la liste générique, le contenu de la zone de liste déroulante doit être automatiquement mis à jour; même chose devrait se produire si je Tri ().
Mais pour une raison quelconque, je ne peux pas faire ce travail. Je peux voir la zone de liste déroulante de la propriété source de données est correctement mis à jour comme je l'ai ajouter/supprimer/trier les éléments, mais le contenu est affiché dans la zone de liste déroulante ne sont pas celles de la propriété DataSource.

Je suis sûrement raté quelque chose ou fait quelque chose de mal.
Merci à l'avance!

EDIT:
La réponse que j'ai choisi a résolu le problème pour l'ajout et la suppression, mais une BindingList objet ne peut pas être triés, et c'est nécessaire pour moi. J'ai trouvé une solution où une classe personnalisée est construit en héritant BindingList et en ajoutant des fonctionnalités de tri, mais je voudrais savoir si il y a une solution plus simple dans mon cas.
Toutes les suggestions sur la façon de résoudre facilement?

OriginalL'auteur Fueled | 2009-01-11