Actualmente estoy en el proceso de crear un teclado en pantalla. Estoy manejando el botón clic usando routedcommands. El problema es que cuando hago clic en el botón en el panel del teclado, el foco cambia al botón en lugar de a la caja de texto. El requisito establece que siempre debe aparecer un cursor en el cuadro de texto para indicar la posición donde se insertará el siguiente carácter. ¿Hay alguna manera de mantener el foco en el cuadro de texto mientras se hace clic en el botón?Cursor Enfocar en cuadro de texto en WPF/C#
Respuesta
para ajustar el enfoque lógico para un control de entrada
FocusManager.SetFocusedElement(this, textboxJack); // set logical focus
Para ajustar el foco del teclado a un control de entrada
Keyboard.Focus(textboxJill); // set keyboard focus
Para conocer la diferencia entre el enfoque lógico y teclado
Input Overview - Focus en MSDN
Me gusta estos do-my-homework preguntas por mi; "el requisito dice" ... no tiene precio. Para aquellos que encuentran esto a través de Google, el truco para mover el cursor de manera progmática en un WPF TextBox es usar la propiedad SelectioNStart.
private void Button_Click(object sender, RoutedEventArgs e)
{
textBox.Focus();
textBox.SelectionStart = textName.Text.Length;
}
La forma en que resolvió este problema fue establecer focusable=false
a todos los botones/controles del teclado. De esa forma no perderás enfocado del control actual.
Su problema se puede resolver utilizando un alcance de foco separado para su "teclado". Basta con aplicar la siguiente propiedad al control que contiene todos los botones y entonces van a estar en un ámbito de foco independiente y no tendrá el enfoque establecido para ellos cuando se hace clic
FocusManager.IsFocusScope="True"
Textbox.Focus();
esto se centrará en la cuadro de texto
Obtenga la referencia para el control específico (en ese caso TextBox). Después de clic, en el método Button_Click pega este:
Dispatcher.BeginInvoke((ThreadStart)delegate
{
control.Focus();
});
para mí, Just Just It works. Gracias... –
tuve que usar esto para conseguir el resultado deseado
FocusManager.SetFocusedElement(this, UserNameautoCompleteBox);
Key key = Key.Enter; // Key to send
var target = Keyboard.FocusedElement; // Target element
RoutedEvent routedEvent = Keyboard.KeyDownEvent; // Event to send
target.RaiseEvent(
new KeyEventArgs(
Keyboard.PrimaryDevice,
PresentationSource.FromVisual(UserNameautoCompleteBox),
0,
key) { RoutedEvent = routedEvent }
);
que quería hacer lo mismo, pero nada parecía funcionar para mí. Realmente necesitaba una respuesta que funcionara exclusivamente en XAML ya que estoy trabajando con MVVM.
fin encontré este ejemplo: http://spin.atomicobject.com/2013/03/06/xaml-wpf-textbox-focus/
y lo modificó para esto:
En la sección 'Recursos':
<Style x:Key="FocusTextBox" TargetType="Grid">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=textBoxName, Path=IsVisible}" Value="True">
<Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=textBoxName}"/>
</DataTrigger>
</Style.Triggers>
</Style>
En mi definición de cuadrícula:
<Grid Style="{StaticResource FocusTextBox}" />
- 1. Cómo enfocar el cuadro de texto en WP7 usando MVVM?
- 2. Cómo deshabilitar el cursor en el cuadro de texto?
- 3. Encontrar la posición del cursor en un cuadro de texto
- 4. Prevenir el parpadeo del cursor en el cuadro de texto
- 5. ¿Cómo enfocar el elemento en GWT?
- 6. ¿Cómo colocar el cursor en cierto cuadro Editar texto?
- 7. Cambie el cursor de texto/cursor en Visual Studio 2010
- 8. Haga una "tecla rápida" para enfocar un cuadro de texto en WPF
- 9. Cursor giratorio de acuerdo con el cuadro de texto girado
- 10. cuadro de texto "Buscar y reemplazar" mantiene el cursor
- 11. ¿Cómo ocultar el cursor parpadeante del cuadro de texto?
- 12. ¿Cómo pegar texto en el cursor actual del cuadro de texto?
- 13. foco en el cuadro de texto
- 14. ¿cuál es el plugin jquery que inserta texto en un cuadro de texto, y desaparece al enfocar?
- 15. Establecer el cursor en una longitud de 14 en el foco de un cuadro de texto
- 16. cursor escribir de cuadro combinado
- 17. ¿Cómo puedo obtener el número de columna del cursor en un cuadro de texto en C#?
- 18. Insertar pestañas en un cuadro de texto
- 19. Cómo deshabilitar la selección en un cuadro de texto
- 20. Cuadro de texto árabe
- 21. cursor de texto de Android en EditText
- 22. ¿Cómo agrego texto a la ubicación del cursor de un usuario en un cuadro de texto enriquecido en C#?
- 23. ¿Cómo encuentro la posición de un cursor en un cuadro de texto? C#
- 24. Cómo enfocar el control en la tabla en WPF
- 25. quiero poner el cursor en el inicio del cuadro de texto onfocus
- 26. Texto de límite de Jquery en el cuadro de entrada
- 27. ¿Cursor en el medio de una caja de texto?
- 28. Jquery fadeout texto en un cuadro de texto y texto
- 29. texto fantasma - cómo tener en texto claro cuadro de texto
- 30. Seleccionar texto en un cuadro de texto deshabilitado en C#
Esta no es una pregunta de "do-my-tarea-para-mí". Es una pregunta "Estoy haciendo mi tarea, pero estoy atascado, ¿alguien puede darme algunos consejos". –