我需要知道如何以编程方式更改c#中AvalonEdit for WPF的默认颜色。我不想重写整个突出显示规则集。
我找到了背景和前景,但不确定着色规则。
有没有办法按名称访问规则,并指定一个新的颜色,或创建一个新的刷子来覆盖默认颜色以匹配下面的颜色?
答案 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。