C# 两个连接的组合框不工作

C# 两个连接的组合框不工作,c#,wpf,if-statement,combobox,C#,Wpf,If Statement,Combobox,我有两个组合框。当我更改类别组合框的值时,它应该自动更改大小组合框的值 private void New_Item_Load(object sender, EventArgs e) { // TODO: This line of code loads data into the 'pitauzDBDataSet.Item' table. You can move, or remove it, as needed. this.itemTableAdapter.Fill(this.p

我有两个组合框。当我更改类别组合框的值时,它应该自动更改大小组合框的值

private void New_Item_Load(object sender, EventArgs e)
{
    // TODO: This line of code loads data into the 'pitauzDBDataSet.Item' table. You can move, or remove it, as needed.
    this.itemTableAdapter.Fill(this.pitauzDBDataSet.Item);

    cbx_product_category.Items.Add("Pita");
    cbx_product_category.Items.Add("Drinks");
    cbx_product_category.Items.Add("Other Foods");
}

private void cbx_product_category_SelectedIndexChanged(object sender, EventArgs e)
{
    string ItemSelected = cbx_product_category.SelectedIndex.ToString();
    if(ItemSelected == "Pita")
    {
        cbx_product_size.Items.Clear();
        cbx_product_size.Items.Add("Small");
        cbx_product_size.Items.Add("Regular");
        cbx_product_size.Items.Add("Large");
        cbx_product_size.Items.Add("Very-Large");
    }
    if(ItemSelected == "Drinks")
    {
        cbx_product_size.Items.Clear();
        cbx_product_size.Items.Add("0.5L");
        cbx_product_size.Items.Add("1L");
        cbx_product_size.Items.Add("1.5L");
    }
    if (ItemSelected == "Other Foods")
    {
        cbx_product_size.Items.Clear();
        cbx_product_size.Items.Add("Half");
        cbx_product_size.Items.Add("Full");
    }
}


它没有给出任何错误。只是逻辑不起作用

问题就在这一行

string ItemSelected=cbx\u product\u category.SelectedIndex.ToString()

SelectedIndex
将返回一个数字,而不是项目本身

您要做的是:

var item = cbx_product_category.SelectedItem;
string ItemSelected = "";
if(item != null)
    ItemSelected = item.ToString();

*注意,由于这是在selection changed事件中,SelectedItem不应返回null,但确保问题在这一行并没有真正的伤害

string ItemSelected=cbx\u product\u category.SelectedIndex.ToString()

SelectedIndex
将返回一个数字,而不是项目本身

您要做的是:

var item = cbx_product_category.SelectedItem;
string ItemSelected = "";
if(item != null)
    ItemSelected = item.ToString();

*注意,由于这是在selection changed事件中,SelectedItem不应返回null,但确保
cbx\u product\u category\u SelectedIndex changed
是否实际触发?SelectedIndex get index not value man!我不明白。Sorry当您在
SelectedIndexChanged
事件中设置断点并跟踪执行时会发生什么?cbx\u产品\u类别\u SelectedIndexChanged
是否实际触发?SelectedIndex get index not value man!我不明白。Sorry在
SelectedIndexChanged
事件内设置断点并跟踪执行时会发生什么情况?无法获取。我已经更改了您的版本,但它给我的错误是:嵌入语句不能是声明或标记语句------这样说。我的项目正在使用localDBnow@AmirsaidhonZuhirxo“jaev很好,我的代码中有一个错误,因为我在if语句中声明变量时,它应该在out-sidecout-get中声明。我已经更改了您的版本,但它给我的错误是:嵌入语句不能是声明或标记语句------这样说。我的项目正在使用localDBnow@AmirsaidhonZuhirxo“jaev很好,我的代码中有一个错误,因为我在if语句中声明变量时,它应该在外部声明