0

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

谢谢,

4

1 回答 1

1

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

于 2012-07-12T14:32:34.177 回答