コード例 #1
0
        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;
        }
コード例 #2
0
 public BrowseItem(DisposableTrackerBrowseModule module, TrackedEntry data)
 {
     Module = module;
     ObjectSupport.CopyData(data, this);
 }