如何以编程方式更改AvalonEditor中的默认颜色c#

时间:2016-05-23 16:03:06

标签: wpf colors highlighting avalonedit

我需要知道如何以编程方式更改c#中AvalonEdit for WPF的默认颜色。我不想重写整个突出显示规则集。

我找到了背景和前景,但不确定着色规则。

默认颜色: enter image description here

有没有办法按名称访问规则,并指定一个新的颜色,或创建一个新的刷子来覆盖默认颜色以匹配下面的颜色?

enter image description here

1 个答案:

答案 0 :(得分: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文件中找到颜色定义的名称。你可以找到它们here