private void SelectionChanged(object sender, SelectionChangedEventArgs e) { Log.Info("SelectionChanged, viewIsUpdating: {viewIsUpdating}", viewIsUpdating); if (viewIsUpdating) { return; } var copyOf = AppState.Data.TrackedEntries.ToList(); foreach (GridViewItem gridViewItem in e.AddedItems) { Log.Info("Adding {type}", gridViewItem.Tag); switch (gridViewItem.Tag) { case "CrucibleMap": copyOf.Add(TrackedEntry.FromDynamicTrackableType(DynamicTrackableType.CrucibleMap)); break; } } foreach (GridViewItem gridViewItem in e.RemovedItems) { Log.Info("Removing {type}", gridViewItem.Tag); switch (gridViewItem.Tag) { case "CrucibleMap": copyOf.RemoveAll(v => v.Matches(DynamicTrackableType.CrucibleMap)); break; } } Log.Info("Tracked items (copyOf):"); foreach (var dataTrackedEntry in copyOf) { Log.Info(" {item}", dataTrackedEntry); } AppState.Data.TrackedEntries = copyOf; }
public BrowseItem(DisposableTrackerBrowseModule module, TrackedEntry data) { Module = module; ObjectSupport.CopyData(data, this); }