ComboBox 上的 SelectionChanged 事件动态创建

SelectionChanged event on ComboBox create dynamically

在我的应用程序中,我有 2 个 ComboBox。当我在第一个 ComboBox 中 select a ComboBoxItem 时,第二个生成相关的 ComboBoxItem。但是如果我在第二个 ComboBox 上创建一个 SelectionChanged 事件,我会得到这个错误。为什么?谢谢!

private void scarpeBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    ComboBox combo = (ComboBox)sender;
    ComboBoxItem item = (ComboBoxItem)combo.SelectedItem;
    for (int i = 0; i < 16; i++)
        if (combo.Items[i] == item) id = i;
}

您的 SelectedItem 很有价值 String,它不是您想象的那样的控件。您正在尝试将 String 转换为 ComboboxItem,这会引发异常。

在你的例子中,我会使用 SelectedIndex 属性:

private void scarpeBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    ComboBox combo = (ComboBox)sender;
    id = combo.SelectedIndex;
}

你的循环似乎在寻找你的 SelectedItem 的位置,所以用上面的代码替换你的代码,它将 return 项目在 ComboBox 中的位置。