Ciao
scusami mi sono accorto che in questa applicazione uso il datagrid di devexpress

, che comunque è free, ed è molto simile a quello di silverlight con delle funzinalita in piu, lo trovi qui se vuoi provarlo: http://www.devexpress.com/Products/NET/Controls/Silverlight/Grid/.
In ogni caso quando aggiorni la variabile _missioni con cui hai fatto il binding, se Missioni implementa INotifyPropertyChanged, il datagrid di silverlight si aggiorna automaticamente perche supporta questa interfaccia.
datagrid.ItemSource lo devi assegnare solo la prima volta, poi devi sempre aggiornare _missioni, altrimenti viene rieffettuato il DataBind della griglia, perdendo scroll, righe selzionate ecc. ecc.
Per la comparazione io la faccio sulle proprieta che mi interessano e la faccio 'a mano'.
Se nel tuo caso è troppo laborioso mi vengono in mente due modi:
1) _missioni.SequenceEqual(e.result) ed eseguire l'override di Equals e GetHashCode nella classe Missioni, ed implementare il tuo confronto personalizzato
2)_missioni.SequenceEqual(e.result,missioniComparer), dove missioniComparer è una classe che implementa IEqualityComparer<Missioni> e che esegue la tua comparazione personalizzata.
Ricorda comunque che la comprazione ti serve solo a verificare che le due collection siano uguali. Nel caso siano diverse devi comunque aggiornare quella locale e renderla uguale a quella nuova.
Edika
Modificato da edika il 11 giugno 2009 16.12 -
Modificato da edika il 11 giugno 2009 16.19 -