private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e) { IList<object> removedList = (IList<object>)e.RemovedItems; foreach (object item in removedList) { selectedItems.Remove((NetworkLocation)item); } IList<object> addedList = (IList<object>)e.AddedItems; foreach (object item in addedList) { selectedItems.Add((NetworkLocation)item); } if (listView.SelectedItem != null) { NetworkLocation location = (NetworkLocation)listView.SelectedItem; editorGrid.DataContext = location.Clone(); } }