2016-02-23 5 views
1

Я пытаюсь включить коллапс кода на элементе управления AvalonEdit, и я не могу включить его правильно.Включить коллапс на управление 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 не работает на всех

Code folding example

ответ

1

Ваш документ не является действительным документом XML: XML позволяет только один элемент верхнего уровня, но у вас есть два (<head> и <body>).

XmlFoldingStrategy поэтому может только свернуть действительную часть документа. Если вы хотите сгибать HTML, вам нужно написать свой собственный HtmlFoldingStrategy.

Если вы согласны с тем, что HTML-код является действительным XML, вам нужно добавить тег открытия <html>.