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
中的位置。
在我的应用程序中,我有 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
中的位置。