C#の Dictionary クラスでは、連想配列というものを扱う事が出来ます。
連想配列はインデックス番号の代わりに Key と呼ばれるオブジェクトに Value と呼ばれる値を関連付けて管理する事が出来る配列です。
WPF の ComboBox へ表示するソースとして、この Dictionary クラスのデータを使う為の方法を解説してみます。
ComboBoxにバインドする
ComboBoxは表示する項目と内部的に管理する値とを持つことが出来ます。
ここでは、内部的な値に Dictionary の Key を使用し、表示する項目に Dictionary の Value が使われるように設定を行なっていきます。
XAML
<ComboBox ItemsSource="{Binding CountryDic}" SelectedValuePath="Key" DisplayMemberPath="Value"/>
ItemsSource へ Dictionaryクラスのオブジェクト "CountryDic" をセットしています。
SelectedValuePath に "Key" と指定する事で Dictionary の Key 項目が参照されます。
DisplayMenberPath に "Value" と指定する事で Dictionary の Value 項目が表示項目となります。
コード
public partial class MainWindow : Window { public Dictionary<string, string> CountryDic { get; set; } public MainWindow() { CountryDic = new Dictionary<string, string>() { { "CA", "カナダ" }, { "DE", "ドイツ" }, { "FR", "フランス" }, { "GB", "イギリス" }, { "IT", "イタリア" }, { "JP", "日本" }, { "US", "アメリカ合衆国" }, }; InitializeComponent(); DataContext = this; } }
コンボボックスには Dictionary の Value の内容が表示され、ComboBox.SelectedValue では Key の値が取得出来ます。
コメントをお書きください