I have added KeyDown, PreviewKeyDown event (and some more) to a programmatically created Paragraph:
Paragraph p = new Paragraph();
Run r = new Run("new Text here");
p.Inlines.Add(r);
p.KeyDown += new KeyEventHandler(p_KeyDown);
p.PreviewKeyDown += new KeyEventHandler(p_PreviewKeyDown);
p.PreviewTextInput += new TextCompositionEventHandler(p_PreviewTextInput);
p.TextInput += new TextCompositionEventHandler(p_TextInput);
myrtb.Document.Blocks.Add(p);
But none of them is firing when I change the text ("new Text here") in the RichTextBox. Does anyone know what I'm doing wrong here? Many thanks!
As far as i can tell, the RichTextBox does not route KeyDown events to the current selected Block/Paragraph, therefore you will have to handle the RTB events, and get the current Paragraph by using the current CaretPosition.