We are looking for a WPF expert that has experience in developing WPF custom controls.
We need extended functionality to Microsoft’s RichTextBox (System. Windows. Control. RichTextBox). This control uses FlowDocument (System. Windows. Documents. Flowdocument) as its standard content format.
FlowDocument supports different formatting and content types including:
Font, font size, font colour
Bold, italic, underline
Bullet lists
Numbered lists
Alignment (left, center, right, justify)
Indentation
These are all easy to manipulate by using external commands defined in the class System. Windows. Documents. EditingCommands.
FlowDocument also supports images and tables, but manipulation of these two content types are non-existent in the RichTextBox control. We need extended functionality in RichTextBox that enables users to manipulate the following in a similar way as in Microsoft Word (as close as possible):
Insert image from file
Adjust image size (with and without proportions constrained)
Insert table (with possibility to specify number of rows and columns)
Adjust column width and row height
Merge and split cells
Set table borders and cell borders width and colour
Set table cell background colour
The preferred way two solve this task will be to inherit the class RichTextBox and override/extend functionality in the derived class:
public class CustomRichTextBox : RichTextBox { }
Important: FlowDocument, with its limitations, needs to remain as the storage format (no custom format).
All code must be written in English for future maintainability.
If there is enough time (low priority): Formatting of numbered lists is also an issue in RichTextBox. Standard numbered lists use numbers only for indented sublists. Standard numbered lists in Word use alternating number, letter and roman lowercase for different list levels. It is desirable to change default behaviour of numbered lists to match the one in Word.
RichTextBox:
- Item 1
- Item 1.1
- Item 1.1.1
Microsoft Word:
- Item 1
- Item 1a
i. Item 1ai
