This example shows how create custom textEditors for the TextEditingTool.
Above is a Diagram with two nodes, each holding several TextBlocks. The TextEditingTool on the diagram has a custom editor that consists of an HTML select box with several preset values. This editor will change the text as soon as the user presses Enter, Tab, or clicks away from the select box.
TextBlocks can also have their own custom editors that override the TextEditingTool's editor, by setting TextBlock.textEditor. The last TextBlock in each node has its own custom editor that consists of an HTML div with several radio buttons. This editor will change the text as soon as an option is selected.
TextBlocks in this sample make use of TextBlock.choices to inform the custom text editing tools.
You can see a re-implementation of the default text editors in the Text Editor extension.