private static void ReapplyUnthemedScrollBarStyles() { foreach (var element in WeakUnthemedScrollingElements.ToList()) { SetScrollBarStyles(element, false); } }
/// <summary> /// <see cref="_expandedGraphContexts"/> remembers graph expanded or checked so far. /// Each context represents one level in the graph, i.e. a node and its first level dependencies /// Tracking changes over all expanded contexts ensures that all levels are processed /// and updated when there are any changes in nodes data. /// </summary> private void TrackChanges(SnapshotChangedEventArgs updatedProjectContext) { IList <IGraphContext> expandedContexts; lock (_expandedGraphContexts) { expandedContexts = _expandedGraphContexts.ToList(); } if (expandedContexts.Count == 0) { return; } var actionHandlers = _graphActionHandlers.Select(x => x.Value).Where(x => x.CanHandleChanges()).ToList(); if (actionHandlers.Count == 0) { return; } foreach (IGraphContext graphContext in expandedContexts) { try { foreach (IDependenciesGraphActionHandler actionHandler in actionHandlers) { actionHandler.HandleChanges(graphContext, updatedProjectContext); } } finally { // Calling OnCompleted ensures that the changes are reflected in UI graphContext.OnCompleted(); } } }