Понадобилось мне на работе сделать редактор скриптов на Lua. Покопавшись в документации DevExpress, стало понятно, что нужно использовать RichEditControl. Для начала сделаем показ номера строки. В документации есть примеры, но они противоречат концепции MVVM: кода в отображении быть не должно. Отлично, воспользуемся тогда самописным Behavour: И вставляем в xaml: <dxre:RichEditControl DockPanel.Dock="Top" HorizontalRulerVisibility="Collapsed" VerticalRulerVisibility="Collapsed" ActiveViewType="Simple"> <dxmvvm:Interaction.Behaviors> <utils:SyntaxHighlightBehavior /> </dxmvvm:Interaction.Behaviors> </dxre:RichEditControl> Осталось создать сервис подсветки кода: Код на Github'е И добавить в наш Behavior в метод OnAttached: ISyntaxHighlightService service = new FormulaSyntaxHighlightService(AssociatedObject.Document); AssociatedObject.ReplaceService(service); Все, код на Lua подсвечивается и строки нумеруются: Спасибо за внимание!
[DevExspress] Подсветка синтаксиса Lua в RichEditControl в WPF+MVVM
4 апреля 20194 апр 2019
48
~1 мин