当执行Silverlight的ListBox的SelectionChanged事件时,有可能ListBox没有选中值,这样出现“Unhandled Error in Silverlight Application 未将对象引用设置到对象的实例”异常。
比如变化绑定数据源(ItemsSource)的时候有可能出现激发SelectionChanged事件(虽然没有点击ListBox控件但是激发了,具体什么原因我也不知道,就碰到了)。当里面没有值或没有选中时,其他操作也有可能激发这个事件,就会出现异常。
解决此问题时,在写事件代码前做一下判断,见下面代码:
void ListBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (ListBox1.SelectedItem != null)
{
//事件处理代码
}
}
这样就不会报异常了。