【发布时间】:2016-09-20 14:35:00
【问题描述】:
我需要知道如何在 c# 中以编程方式更改 AvalonEdit for WPF 中的默认颜色。我不想重写整个突出显示规则集。
我找到了背景和前景,但不确定着色规则。
有没有办法按名称访问规则,并分配新颜色,或者创建新的画笔来覆盖默认颜色以匹配下面的颜色?
【问题讨论】:
标签: wpf colors highlighting avalonedit
我需要知道如何在 c# 中以编程方式更改 AvalonEdit for WPF 中的默认颜色。我不想重写整个突出显示规则集。
我找到了背景和前景,但不确定着色规则。
有没有办法按名称访问规则,并分配新颜色,或者创建新的画笔来覆盖默认颜色以匹配下面的颜色?
【问题讨论】:
标签: wpf colors highlighting avalonedit
在我的示例中,我将更改默认突出显示规则集“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。
【讨论】: