/// <summary> /// Set new basic foreground after change cursor's color /// </summary> /// <param name="d"></param> /// <param name="e"></param> private static void OnCursorColorChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { SyntaxHighlightTextBox sh = (SyntaxHighlightTextBox)d; Color c = (Color)e.NewValue; sh.Background = new SolidColorBrush(sh.GetAlphaColor(c)); }
/// <summary> /// always set transparent color /// </summary> /// <param name="d"></param> /// <param name="e"></param> private static void OnBackgroundChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { SyntaxHighlightTextBox sh = (SyntaxHighlightTextBox)d; SolidColorBrush b = new SolidColorBrush(sh.GetAlphaColor(sh.CursorColor)); SolidColorBrush a = e.NewValue as SolidColorBrush; if (a == null || a.Color != b.Color) { sh.Background = b; } }