游路

-言或自生天趣,事当曲尽人情
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ListBox控件的SelectionChanged事件使用注意

Posted on 2011-11-16 15:34  游路  阅读(2284)  评论(0编辑  收藏  举报

当执行Silverlight的ListBox的SelectionChanged事件时,有可能ListBox没有选中值,这样出现“Unhandled Error in Silverlight Application 未将对象引用设置到对象的实例”异常。

比如变化绑定数据源(ItemsSource)的时候有可能出现激发SelectionChanged事件(虽然没有点击ListBox控件但是激发了,具体什么原因我也不知道,就碰到了)。当里面没有值或没有选中时,其他操作也有可能激发这个事件,就会出现异常。

解决此问题时,在写事件代码前做一下判断,见下面代码:

void ListBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)        
{
  if (ListBox1.SelectedItem != null)
  {
    //事件处理代码
  }
}

这样就不会报异常了。