我按照如下方法创建了两个类:
class City
{
public string CityName { get; set; }
public string Region { get; set; }
public City(string sCountryName, string sLanguage)
{
this.CityName = sCountryName;
this.Region = sLanguage;
}
public override string ToString()
{
return CityName;
}
class Country
{
public string CountryName { get; set; }
public City[] cities;
public Country(string sCountryName, City[] sCities)
{
this.CountryName = sCountryName;
this.cities = sCities;
}
在那之后,我如下创建了usa_cities和german_cities的对象:
City[] usa_cities = new City[] {new City("Washington", "English"),
new City("New York", "English"),
new City("San Francisco", "English") };
City[] german_cities = new City[] {new City("Berlin", "German"),
new City("Hamburg", "German"),
new City("Frankfurt", "German") };
然后我按照如下方法创建了一个对象“国家”:
Country[] countries = new Country[] {new Country("USA", usa_cities),
new Country("Germany", german_cities) };
在我的应用程序中,我有两个组合框。 第一个组合框允许用户按照以下方式选择国家/地区:
comboBox1.DataSource = countries;
comboBox1.DisplayMember = "CountryName";
comboBox1.ValueMember = "CountryName";
comboBox1.SelectedItem = -1;
我想根据comboBox1中选择的值来设置comboBox2.DataSource。 例如,用户在第一个组合框中选择“美国”,第二个组合框应填写usa_cities。 如果用户选择“德国”,则第二个组合框应填充“德国城市”。
请问我该怎么办?
谢谢
答案 0 :(得分:0)
您应该为ComboBox1.SelectedIndexChanged
事件添加一个事件处理程序,然后根据ItemsSource
的情况使用它来更改ComboBox2的ComboBox1.SelectedIndex