2012-07-11 19 views
0

我有一个Silverlight数据网格,它将在运行时动态更改其数据源,并且该数据网格有一个SelectionChanged事件处理程序。但我不希望SelectionChanged事件处理程序每​​次更改数据源时都会触发。有没有简单的方法来防止这种情况发生?如何在数据网格填充后停止SelectionChanged事件?

感谢,

+0

我想我想通了。在更改数据源之前,只需卸载( - =)选择已更改的事件处理程序,然后将其添加回(+ =)到datagrid加载的事件中。让我知道如果我错了。谢谢 – lwconquer 2012-07-11 16:15:45

回答

1

你当然可以卸载( - =)的事件处理程序,然后加载回(+ =)更改数据源后。这应该很好。不过,我想提出一个建议。而不是连接SelectionChanged,Silverlight DataGrid是否具有您可以绑定到的SelectedItem属性?如果是这样,那么你可以将它绑定到一个类中的属性,并监听该属性上的PropertyChanged。那么你可以完全失去事件处理程序。这让你更适合单元测试,更符合MVVM理念。