我尝试在AvalonEdit控件上启用代码折叠,但我无法正确启用它。
public FoldingManager foldingManager;
public XmlFoldingStrategy foldingStrategy;
启用代码折叠我在Window_Loaded上插入此代码
foldingManager = FoldingManager.Install(textEditor.TextArea);
foldingStrategy = new XmlFoldingStrategy();
foldingStrategy.UpdateFoldings(foldingManager, textEditor.Document);
并更新折叠我插入到textEditor_TextChanged这段代码
foldingStrategy.UpdateFoldings(foldingManager, textEditor.Document);
来自Window_Loaded的我只得到第一次折叠工作(如图中其他标签未更新)
textEditor_TextChanged中的代码根本不起作用
答案 0 :(得分:1)
您的文档不是有效的XML文档:XML只允许一个顶级元素,但您有两个(<head>
和<body>
)。
XmlFoldingStrategy
只能折叠文档的有效部分。
如果您想要HTML折叠,则需要编写自己的HtmlFoldingStrategy
。
如果您确定强制HTML为有效XML,则必须添加开头<html>
标记。