在我的申请中,我有2 ComboBox
。当我在第一个ComboBox中选择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;
}
答案 0 :(得分:2)
您的SelectedItem
有价值String
,它不像您认为的那样是一种控制。您正在尝试将String
转换为ComboboxItem
,这会引发异常。
在您的示例中,我将使用SelectedIndex
属性:
private void scarpeBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ComboBox combo = (ComboBox)sender;
id = combo.SelectedIndex;
}
您的循环似乎在寻找SelectedItem
的位置,因此请用上面的代码替换代码,它将返回ComboBox
中项目的位置。