我正在开发一个wpf应用程序,当用户对组合框执行选择更改操作时,会触发选择更改事件,但在更新datagrid.itemsSource的事件处理程序中,显示错误以使用新的关键字创建对象,通过断点我已经看到,事件处理程序内部的datagrid对象本身为null,但它在MainWindow函数中不为null。为什么会这样?
private void majorkeys_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
minordata.ItemsSource = ReadLibrary.get_minor_records(majorkeys.SelectedValue.ToString(), minorkeys.SelectedValue.ToString());
}
答案 0 :(得分:0)
让我回答一下我自己的问题,问题是当组件初始化时,comboBox.selectedIndex发生变化,因此当时触发了comboBox_selectionChanged事件,我的datagrid的itemsSource没有被填充,因此它是null。我通过检查datagrid的itemsSource是否为null来解决了这个问题。这是代码,
private void minorkeys_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (minordata != null)
{
minordata.ItemsSource = ReadLibrary.get_minor_records(majorkeys.SelectedValue.ToString(), minorkeys.SelectedValue.ToString());
}
}
耶! :)