Silverlight Syntax Editor
The Syntax Editor is a powerful text editing control that is used to provide a code editing experience similar to Microsoft’s Visual Studio code editor. It is built on top of our new Syntax Parsing Engine, which allows you to apply a set of language specific grammatical rules to highlight both language constructs as well as error information if the text does not conform to the syntax rules of the language.
The Syntax Editor has all the advanced editing capabilities you'd expect to find in a code editor. This includes clipboard support, unlimited undo and redo, drag and drop, line numbers, as well as character and line selections.
The Syntax Editor gives to the user visual cues, such as colorization, on how the text is being interpreted so that comments, keywords, and language specific entities can be easily differentiated. This includes support for multiple font styles (e.g. bold, italic, etc.) in a single document.
Custom Language Support
Out of the box support for common coding languages such as C#, VB, and SQL ship with the Syntax Editor. It is also designed to be extensible so that other languages, including any proprietary languages, can be created and used by devising EBNF-like grammar definition files. With new support for a subset of the T-SQL language, the Syntax Editor gives visual cues, such as colorization, to the user on how the text is being interpreted so that comments, keywords, and language-specific entities can be easily differentiated.
The Syntax Editor supports end-user as well as programmatic splitting of the editor into two separate views for easier editing. Both horizontal and vertical splits are supported.
Custom Element Styling
Highly customizable, the Syntax Editor provides the ability for complex customization of many of the editor's elements without re-templating. Besides providing a built-in line number margin, you also have the ability to create your own custom margins that can be placed in any of the four margin areas of the xamSyntaxEditor control. You have complete command on the appearance of various editor parts such as the caret, line number margin, active and inactive selections, foreground, backgrounds, font size and family, and more. Finally, you control the colorization of text (syntax highlighting) based on a language's syntax and grammar rules.