2012-07-11 48 views
0

我有一個Silverlight數據網格,它將在運行時動態更改其數據源,並且該數據網格有一個SelectionChanged事件處理程序。但我不希望SelectionChanged事件處理程序每​​次更改數據源時都會觸發。有沒有簡單的方法來防止這種情況發生?如何在數據網格填充後停止SelectionChanged事件?

感謝,

+0

我想我想通了。在更改數據源之前,只需卸載( - =)選擇已更改的事件處理程序,然後將其添加回(+ =)到datagrid加載的事件中。讓我知道如果我錯了。謝謝 – lwconquer 2012-07-11 16:15:45

回答

1

你當然可以卸載( - =)的事件處理程序,然後加載回(+ =)更改數據源後。這應該很好。不過,我想提出一個建議。而不是連接SelectionChanged,Silverlight DataGrid是否具有您可以綁定到的SelectedItem屬性?如果是這樣,那麼你可以將它綁定到一個類中的屬性,並監聽該屬性上的PropertyChanged。那麼你可以完全失去事件處理程序。這讓你更適合單元測試,更符合MVVM理念。