14

次のような文字列の一般的なリストにバインドされているフォームにコンボボックスがあります。

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;
}

その後、ユーザーはコンボボックス内の項目を追加または削除できます。
一般的なリストに項目を追加または削除するだけで、コンボボックスの内容が自動的に更新されることを他の場所で読みました。Sort() を使用すると、同じことが発生するはずです。
しかし、何らかの理由で、私はこれを機能させることができません。アイテムを追加/削除/ソートすると、コンボボックスの DataSource プロパティが正しく更新されていることがわかりますが、コンボボックスに表示される内容は DataSource プロパティのものではありません。

私は確かに何かを見逃しているか、何か間違ったことをしています。
前もって感謝します!

編集:
私が選択した答えは、追加と削除の問題を解決しましたが、BindingList オブジェクトを並べ替えることができません。これは私にとって必要です。BindingList を継承して並べ替え機能を追加することでカスタム クラスを構築するソリューションを見つけましたが、私の場合はもっと簡単なソリューションがあるかどうか知りたいです。
これを簡単に解決する方法について何か提案はありますか?

4

1 に答える 1