ventanas navegacion framework entre wpf textbox

navegacion - Insertar texto en el cuadro de texto WPF en la posición de intercalación



c# wpf entity framework datagrid (4)

¿Cómo puedo insertar texto en un cuadro de texto WPF en la posición caret? ¿Qué me estoy perdiendo? En Win32 puedes usar CEdit :: ReplaceSel ().

Debería funcionar como si se invocara el comando Paste (). Pero quiero evitar usar el portapapeles.


Encontré una solución aún más simple por mí mismo:

textBox.SelectedText = "New Text"; textBox.SelectionLength = 0;

Luego desplácese hasta la posición indicada por Tarsier.


Para simplemente insertar texto en la posición de intercalación:

textBox.Text = textBox.Text.Insert(textBox.CaretIndex, "<new text>");

Para reemplazar el texto seleccionado con texto nuevo:

textBox.SelectedText = "<new text>";

Para desplazar el cuadro de texto a la posición de intercalación:

int lineIndex = textBox.GetLineIndexFromCharacterIndex(textBox.CaretIndex); textBox.ScrollToLine(lineIndex);


Si desea mover el cursor después del texto insertado, el siguiente código es útil

textBox.SelectedText = "New Text"; textBox.CaretIndex += textBox.SelectedText.Length; textBox.SelectionLength = 0;


Utilice TextBox.CaretIndex para modificar el texto vinculado a la propiedad TextBox.Text.