Как программно изменить цвета по умолчанию в AvalonEditor для c #

Мне нужно знать, как программно изменить цвета по умолчанию в AvalonEdit для WPF в C #. Я не хочу переписывать весь набор правил выделения.

Я нашел фон и передний план, но не уверен в правилах раскраски.

Цвета по умолчанию:  введите описание изображения здесь

Есть ли способ получить доступ к правилам по имени и назначить новый цвет или создать новую кисть, чтобы переопределить цвета по умолчанию, чтобы они соответствовали приведенным ниже?

введите описание изображения здесь


person Jason Stevenson    schedule 23.05.2016    source источник


Ответы (1)


В моем примере я изменю цвет по умолчанию для «Комментарий» в наборе правил выделения по умолчанию «XML».

using ICSharpCode.AvalonEdit.Highlighting;

    // Get a instance of the default rule set "XML"
    var highlighting = HighlightingManager.Instance.GetDefinition("XML");

    // Get Color Definition "Comment"
    var commentHighlighting = highlighting.NamedHighlightingColors.First(c => c.Name=="Comment");

    // Change the Foreground Color
    commentHighlighting.Foreground = new SimpleHighlightingBrush(Color.FromRgb(0xC0, 0xC0, 0xC0));

    // Set the syntaxHighlighting
    myTextEditor.SyntaxHighlighting=highlighting;

Имена определений цвета можно найти в файлах * .xshd наборов правил выделения по умолчанию. Вы можете найти их здесь.

person Boslx    schedule 13.02.2018