Quiero mover las posiciones de cursor a la derecha de donde estoy actualmente. Estoy registrado con PreviewKeyDown
, y llamando InsertTextInRun()
cuando se captura la tecla de tabulación, así:¿Cómo muevo el cursor una cierta cantidad de posiciones en un WPF RichTextBox?
private void rtb_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Tab)
{
rtb.CaretPosition.InsertTextInRun(" ");
e.Handled = true;
}
}
El problema es que el cursor queda en su lugar después de la llamada a InsertTextInRun()
. Hace no mover al final del nuevo texto, que es el comportamiento que quiero. ¿Cómo haría esto?
Como acotación al margen - Sí, lo sé acerca de la propiedad AcceptsTab
en RichTextBox
. Estoy eligiendo ignorar que es y rodar mi propia funcionalidad pestaña debido a la tabulación con AcceptsTab
tiene un efecto secundario desagradable de sangría a las líneas posteriores, que es no lo que quiero.
Wow, que debe de haber perdido! Voy a intentarlo en breve, ¡gracias! :) –
Lo siento, no hay dados. El símbolo de intercalación no se movió hasta el final del texto insertado. –
Tampoco funcionó para mí, solo la solución que funciona es la solución aceptada. – ToastyMallows