Есть ли в WPF бесплатные замены для richtextbox с открытым исходным кодом?

StackOverflow https://stackoverflow.com/questions/1003499

  •  05-07-2019
  •  | 
  •  

Вопрос

У меня есть требование создать приложение, которое будет открывать файлы журнала размером около 10 МБ и выделять определенные выражения.

Я думал, что использование WPF и richtextbox будет работать, но время ожидания richtextbox недопустимо.

Есть ли что-нибудь, что имеет richtextbox, как подсветка, но имеет лучшую производительность?

Есть ли другой способ сделать это?

Это было полезно?

Решение

Scintilla http://www.scintilla.org/ используется в качестве поля для редактирования кода. Он обеспечивает подсветку для множества различных синтаксисов кода. Вы можете использовать его и указать выделенные части.

Другие советы

Если вам не нужно разрешать пользователю редактировать журналы, вам, возможно, удастся избежать использования TextBlock и обернуть разделы для выделения в тегах <Style>, которые выполняют выделение.

Как вы генерируете свой Flowdocument - в зависимости от того, что вы делаете, вы можете ускорить его. Однако я тоже столкнулся с этими проблемами, особенно потому, что у вас есть для генерации FlowDocument в потоке пользовательского интерфейса, и если это занимает слишком много времени, у вас появляется черный экран.

Если я понимаю, что вы говорите, вам нужен синтаксис с подсветкой управления RTB. Мой личный фаворит - это элемент управления AvalonEdit, (Вот статья о codeproject об этом: "> http://www.codeproject.com/Articles/42490/Using-AvalonEdit-WPF-Text-Editor ), которая может подсветить синтаксис, как редактор в Visial Studio. У него даже есть автозаполнение, которое понравится вашим конечным пользователям.

Если вы хотите что-то еще, есть также редактор кода ICSharp. (Вот еще одна статья о проекте кода по этому поводу: http://www.codeproject.com/ Articles / 30936 / Using-ICSharpCode-TextEditor ) Этот в значительной степени имеет те же функции, что и AvalonEdit, и мне он тоже нравится. Я фактически использовал редактор кода ICSharp в приложении, которое я сделал, и был довольно доволен функциями.

Насколько я знаю, оба эти элемента управления очень эффективны и будут лучше, чем просто richtextbox.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top