windows 8.1 y focus...

Para dar las gracias debes entrar o registrarte en el foro

Nuevo miembro
Nuevo miembro
Mensajes: 2 Agradecido: 0
24 Mar 2015, 15:26# 1

hola.
Necesito que al iniciar mi app el focus este en un textbox especifico.
He probado esto:
tbPrecio.Focus(Windows.UI.Xaml.FocusState.Programmatic);

peero solo funciona si lo pongo dentro de un evento de un boton. Yo necesito que lo haga cuando arranca la aplicacion.

Como debo hacerlo? soy nuevo y todavia nno me doy cuenta dodne ponnerlo, he intentadoo hacer esto:

public MainPage()
{
this.InitializeComponent();

this.NavigationCacheMode = NavigationCacheMode.Required;

tbPrecio.Focus(Windows.UI.Xaml.FocusState.Programmatic);



}

pero tampoco funciona.

Gracias.
Gustavo

Gracias  
Etiquetado en:
Administrador
Administrador
Mensajes: 826 Agradecido: 119
26 Mar 2015, 04:17# 2

Hola y bienvenido primero.
Puedes hacerlo de tres formas:
1ª - poniendo el control el primero en el xaml, justo después del primer . En WPF, el orden de tabulación la marca la jerarquía en la que están los controles en el xaml, a menos que esté configurada la Property TabIndex, que tiene prioridad.
2ª - Configurando la Property TabIndex=0 en el xaml.
3ª - Capturando el evento Loaded de la Page y poniendo la línea que pones.

Personalmente te aconsejo la primera.

Gracias  
1 persona ha dado las gracias: farameo
Nuevo miembro
Nuevo miembro
Mensajes: 6 Agradecido: 0
25 Jul 2016, 20:22# 3

Hola: Soy nuevo en el foro y en la programación para Windows Phone. Tengo el mismo problema que Gustavo, probe las tres sugerencias que hace davdi pero no me funcionaron, en la actualidad lo tengo funcionando como lo expone Gustavo, el tema esta que si bien el TextBox tiene el foco pero no me habilita la entrada de datos hasta tanto no haga un click sobre dicho campo. Alguna sugerencia.???
Muchas gracias.!!
Italo

Gracias  
Administrador
Administrador
Mensajes: 826 Agradecido: 119
26 Jul 2016, 01:05# 4

Hoja y bienvenido lo primero.
No te funciona

tbPrecio.Focus();

En el evento Loaded de la Page?

Enviado desde mi LG-V500 mediante Tapatalk

Gracias  
1 persona ha dado las gracias: Italo Juan
Nuevo miembro
Nuevo miembro
Mensajes: 6 Agradecido: 0
27 Jul 2016, 13:35# 5

Hola davdi: ante todo muchas gracias por responder. No, no me funciona, pero como te dije recien estoy entrando al mundo de la programación para moviles, es muy probable que el error sea mío, por lo tanto voy a hacer un nuevo proyecto y lo voy a controlar mejor, si no me funciona te pego para ver si me podes ayudar.
Saludos.!
Italo

Gracias  
Nuevo miembro
Nuevo miembro
Mensajes: 6 Agradecido: 0
27 Jul 2016, 15:40# 6

Hola davdi: a ver si me podes ayudar: en la MainPage.axml la defino asi (un TextBox y un Button)

Margin="121,154,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top"
Width="114">





En la parte de codificacion del MainPage.axml.cs tengo el evento:

private void PaginaPpal_Loaded(object sender, RoutedEventArgs e)
{
tbCodPrd.Focus();

/* tengo el siguiente error:
Gravedad Código Descripción Proyecto Archivo Línea Estado de supresión
Error CS7036 No se ha dado ningún argumento que corresponda al parámetro formal requerido 'value' de 'Control.Focus(FocusState)' ConectarMySql D:\Sistemas\ProyectoCSharp\ConectarMySql\ConectarMySql\MainPage.xaml.cs 50 Activa

Lo intente definir usando ... FocusState... con las distintas alternativas pero no logro el objetivo, tambien con el Tabindex...
pero bueno. La intencion final es ingresar un codigo para luego validarlo contra una DB en MySql.

*/

}

Gracias  
Nuevo miembro
Nuevo miembro
Mensajes: 6 Agradecido: 0
27 Jul 2016, 15:49# 7

.. Bueno salio cortada la primera parte se ve que hay algo de codigo que no le gusta... la Grid (la que yo tomo como página ppal. la tengo definida asi < Grid x:Name="PaginaPpal" Loaded="PaginaPpal_Loaded" ...... el codigo del textbox y el boton ..

Gracias  
Administrador
Administrador
Mensajes: 826 Agradecido: 119
27 Jul 2016, 19:40# 8

Después de poner el foco, prueba con esto de este objeto

Enviado desde mi LG-V500 mediante Tapatalk

Gracias  
1 persona ha dado las gracias: Italo Juan
Nuevo miembro
Nuevo miembro
Mensajes: 6 Agradecido: 0
28 Jul 2016, 03:59# 9

Demasiado para mi precario conociemiento, vengo de otros lenguajes de programacion, pero en esto de programar para moviles (windows phone) estoy al comienzo. si podes ser mas explicito te lo agradezco, de todas meneras te dejo un muchas gracias por el tiempo que me has dedicado.
Saludos.!
Italo

Gracias  
Administrador
Administrador
Mensajes: 826 Agradecido: 119
28 Jul 2016, 10:19# 10

No te preocupes, para eso estamos ;)
En el .cs, debajo de la línea:
tbCodPrd.Focus(FocusState.Programmatic);

Pon:
InputPane.GetForCurrentView().TryShow();

Agrega al Focus() que tienes el parámetro que pongo.

A ver si así te funciona, y si no buscamos otra forma :)

Enviado desde mi SM-N910F mediante Tapatalk

Gracias  
1 persona ha dado las gracias: Italo Juan