private static void Caret_PositionChanged(object sender, EventArgs e) { Caret caret = sender as Caret; if (caret != null) { MvvmTextEditor editor; if (caretMappings.TryGetValue(caret.GetHashCode(), out editor)) { SetBoundCaretOffset(editor, editor.CaretOffset); } } }