2009-06-27 16 views

Respuesta

6

Encontrados this article que describen cómo hacer lo que necesito hacer. Resulta que puede establecer el PlacementTarget del cuadro de texto y el PlacementRectangle de GetRectFromCharacterIndex y funcionará.

+0

Si alguien se pregunta cómo hacer lo mismo con _RichTextBox_: 'richTextBox.CaretPosition.GetCharacterRect (LogicalDirection.Forward)' – JobaDiniz

1

Echa un vistazo this example.

+0

Quiero mostrar el menú contextual cerca del símbolo de intercalación a medida que el usuario escribe (algo así como intellisense), no simplemente reemplazar el menú contextual predeterminado. – RandomEngy

0

Creo que deberás obtener el índice de caracteres del quilate y luego convertirlo en una coordenada de píxeles llamando a TextRenderer.MeasureText() en el texto a la izquierda del quilate. Esto es obviamente más complicado si su TextBox es multilínea. ¿Lo es?

+0

Es una sola línea, afortunadamente. Le daré una oportunidad al texto de medición. – RandomEngy

+0

TextRenderer.MeasureText() parece ser para WinForms, no para WPF. Encontré el equivalente para WPF, pero estoy teniendo dificultades para obtener la posición del TextBox. Necesito calcular el punto de anclaje para el menú contextual. – RandomEngy

+0

Oh, WPF. Aunque utilizó la etiqueta WPF, probablemente también debería tener ese tipo de información en la pregunta. – Fantius

Cuestiones relacionadas