For Silverlight 2, we finally have some native controls to leverage. Most of them are to aid in input scenarios. The text input, however, is currently scoped to be plain text input. Some have desired a richer input control. You knew it wouldn’t be long before someone in the community stepped up to the challenge. Christopher Husse has done just that.
Enter: Silverlight rich text editor.
He posts a detailed description of all the capabilities on Michael Syncs blog. The effort is also posted on Codeplex for you to peruse.
Here is what he calls the ‘incomplete feature list’:
- Copy/Paste formatted text between RichTextBoxes and copy/paste from/to clipboard of unformatted but macro-enabled text. This means in windows clipboard even things like emoticons will be kept.
- You may insert line breaks, unordered lists and blockquotes.
- You may use various keyboard selection features like End/ Home/ PageUp/ PageDown/ Left/ Up/ Right/ Down, Ctrl+A/ End/ Home, Ctrl+Shift+End/ Home/ Left/ Right, Shift+End/ Home/ PageUp/ PageDown/ Left/ Up/ Right/ Down and so forth…
- Supports direct Unicode character input using “Ctrl”+[NumPad].
- All silverlight font formatting is supported and even some more like SUP/SUB formatting.
- You may define macros and a proper object class that should replace matching text, like emoticons…
- In contrast to many other rich text editors, this one is fully real-time. That means no preview is required because the editor allows editing all things directly.
- If you only use macros and IRichTextObject to extend the control, you will automatically get support for secure content serialization of all control elements. Content serialization also supports to reload content and edit it again.
- Secure content serialization gets rid of any potential security leak when storing user typed formatted text on a server and presenting it to visitors, because it is fully verifiable.
- You may restrict font formatting to a well defined custom subset. This allows you to ensure that all user typed input matches your needs or website design. (this feature is currently not implemented, but only prototyped)
- Snapshots allow convenient access to formatted content and also Find&Replace with regular expressions for example…
Way to go Christopher!