private void Theme_ColorChanged(object sender, Theme.ColorChangedEventArgs e) { switch (e.Color) { case Theme.Color.ScrollBarBackground: ScrollBarBackgroundBrush = CreateBrush(Theme.Color.ScrollBarBackground); OnPropertyChanged(() => ScrollBarBackgroundBrush); break; case Theme.Color.ScrollBarForeground: ScrollBarForegroundBrush = CreateBrush(Theme.Color.ScrollBarForeground); OnPropertyChanged(() => ScrollBarForegroundBrush); break; case Theme.Color.DiffAdded: DiffAddedBrush = CreateBrush(Theme.Color.DiffAdded); OnPropertyChanged(() => DiffAddedBrush); break; case Theme.Color.DiffRemoved: DiffRemovedBrush = CreateBrush(Theme.Color.DiffRemoved); OnPropertyChanged(() => DiffRemovedBrush); break; } }
private void Theme_ColorChanged(object sender, Theme.ColorChangedEventArgs e) { switch (e.Color) { case Theme.Color.Background: Style.Background = e.NewValue; break; case Theme.Color.Foreground: Style.Foreground = e.NewValue; break; case Theme.Color.EditorSelection: Style.Selection = e.NewValue; break; case Theme.Color.EditorLineNumbers: Style.LineNumber = e.NewValue; break; default: ExpressionType type; if (!_themeColors.TryGetValue(e.Color, out type)) { return; } Style.SetCustomColor((int)type, e.NewValue); if (type == ExpressionType.IntegerConstant) { Style.SetCustomColor((int)ExpressionType.BooleanConstant, e.NewValue); } break; } // force repaint of all lines foreach (var line in Lines) { line.Refresh(); } }