Boton en ItemTemplate no cambia SelectedItem en ListBox al presionar
-
jueves, 28 de junio de 2012 1:52
Hola estoy trabajando en un ListBox con databinding
Utulizo un boton para efectuar una accion mediante el evento click parecido a esto
private void Button_Click(object sender, RoutedEventArgs e) { var a = Lista.SelectedItem; ... }
Pero me da null, ya que al presionar el boton no cambia el Item seleccionado de la lista (si primero oprimo en otro lado si se cambia y ya funciona, pero digamos que el usuario simpre presionaria el boton en primer lugar)
Por lo cual lo he hecho con una Imagen con el Gesto Tap y funciona
private void GestureListener_Tap(object sender, Microsoft.Phone.Controls.GestureEventArgs e) { var a = Lista.SelectedItem; ... }
Pero como no hay cambio de contraste como en el boton. Por lo cual preferiria usar un boton.
Alguien me podria ayudar. Gracias
Todas las respuestas
-
jueves, 28 de junio de 2012 10:09
Hola kokokolo.
Tienes que sacar el Item de la lista a partir del contexto del botón.
Yo he utilizado este código y funciona perfectamente.
MyModel varMyModel = (sender as Button).DataContext as MyModel; ListBoxItem pressedItem = this.lstSearchResult.ItemContainerGenerator.ContainerFromItem(varMyModel) as ListBoxItem;
Como puedes ver, yo tengo enlazado un modelo a la lista. Los pasos son:
- Obtener el modelo desde el contexto del botón
- En el contenedor de ítems de la lista buscamos el seleccionado
"En los momentos de crisis, sólo la imaginación es más importante que el conocimiento"- Marcado como respuesta Josue YerayMVP, Moderator domingo, 05 de agosto de 2012 8:15

