c#错误对象引用未设置为对象的实例
我有一个带有数据网格和图表的窗口。数据网格有5行数据,图表根据所选行绘制该行的数据。现在,它只绘制第一行的图形,当我选择其他行时,它不会更新图形。此代码位于名为ShellViewModel.cs的类中:c#错误对象引用未设置为对象的实例,c#,.net,wpf,xaml,datagrid,C#,.net,Wpf,Xaml,Datagrid,我有一个带有数据网格和图表的窗口。数据网格有5行数据,图表根据所选行绘制该行的数据。现在,它只绘制第一行的图形,当我选择其他行时,它不会更新图形。此代码位于名为ShellViewModel.cs的类中: public void EditLoadForecastViewModel() { Shell sh; Timer timer = new Timer(500); timer.Elapsed += new ElapsedEventHandler((s, e) =>
public void EditLoadForecastViewModel()
{
Shell sh;
Timer timer = new Timer(500);
timer.Elapsed += new ElapsedEventHandler((s, e) =>
{
if (updateGraph)
{
sh.Dispatcher.BeginInvoke(new Action(() => UpdateLoadChart()), null);
updateGraph = false;
}
});
timer.Start()
}
此函数在名为Shell.xaml的窗口中调用,如下所示
private void btnResults_Click(object sender, RoutedEventArgs e)
{
vm.ReadLoadForecastFile(false,false);
vm.EditLoadForecastViewModel();
}
当按下按钮时,我得到一个指向此行的错误:
sh.Dispatcher.BeginInvoke(new Action(() => UpdateLoadChart()), null);
错误消息是
NullReferenceException未由用户代码处理:对象引用未设置为对象的实例
实例化Shell对象sh的新实例
Shell sh = new Shell();
当您在
btnResults\u的开始处放置断点并将鼠标悬停在vm
上时,当调试器在运行时命中断点时,您看到了什么?当调试器在运行时命中断点时,在if(updateGraph)
之后立即放置断点,并将鼠标悬停在sh
上,您看到了什么?您必须像Shell sh=new Shell()那样实例化sh代码>