C# 如何在填充datgrid后停止SelectionChanged事件?

C# 如何在填充datgrid后停止SelectionChanged事件?,c#,silverlight,C#,Silverlight,我有一个Silverlight datagrid,它将在运行时动态更改其数据源,datagrid有一个SelectionChanged事件处理程序。但我不希望每次更改数据源时都触发SelectionChanged事件处理程序。有没有简单的方法来防止这种情况发生 谢谢 您当然可以卸载(-=)事件处理程序,然后在更改数据源后将其加载回(+=)。这应该行得通。不过,我想提出一个建议。Silverlight数据网格没有连接SelectionChanged,而是有一个可以绑定的SelectedItem属性

我有一个Silverlight datagrid,它将在运行时动态更改其数据源,datagrid有一个SelectionChanged事件处理程序。但我不希望每次更改数据源时都触发SelectionChanged事件处理程序。有没有简单的方法来防止这种情况发生

谢谢


您当然可以卸载(-=)事件处理程序,然后在更改数据源后将其加载回(+=)。这应该行得通。不过,我想提出一个建议。Silverlight数据网格没有连接SelectionChanged,而是有一个可以绑定的SelectedItem属性吗?如果是这样,那么您可以将其绑定到类中的属性,并侦听该属性上的PropertyChanged。然后您可能会完全丢失事件处理程序。这使您能够更好地进行单元测试,并且更符合MVVM的理念。

我想我已经找到了答案。只需在更改数据源之前卸载(-=)selection changed事件处理程序,然后将其添加回加载的datagrid事件中(+=)。如果我错了,请告诉我。谢谢