Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema con LINQ, ListBox y SelectedItems en WPF

Estas en el tema de Problema con LINQ, ListBox y SelectedItems en WPF en el foro de .NET en Foros del Web. Hola a todos. Necesito obtener los valores de los items seleccionados en un ListBox en una aplicación hecha en WPF. El ListoBox se carga con ...
  #1 (permalink)  
Antiguo 06/03/2009, 11:28
 
Fecha de Ingreso: marzo-2009
Mensajes: 1
Antigüedad: 15 años, 2 meses
Puntos: 0
Pregunta Problema con LINQ, ListBox y SelectedItems en WPF

Hola a todos.

Necesito obtener los valores de los items seleccionados en un ListBox en una aplicación hecha en WPF.

El ListoBox se carga con los datos de una consulta de LINQ, el ListBox muestra bien los datos, pero no he podido obtener solo el Value de los items seleccionados, acá les muestro un poco de código:

Con el siguiente código hago la consulta al XML que tiene los datos que componen el ListBox:

Cita:
1 public object GetTipoOpcion(string tipo_opcion)
2 {
3 try
4 {
5 XElement db = XElement.Load(@"C:\db_rum.xml");
6
7 var query = from p in db.Elements("rum_lista_opciones")
8 where (string)p.Element("tipo_opcion") == tipo_opcion
9 select new
10 {
11 id_opcion = p.Element("id_opcion").Value,
12 tipo_opcion = p.Element("tipo_opcion").Value,
13 opcion = p.Element("opcion").Value
14 };
15 //MessageBox.Show("query es:"+query.GetType());
16
17 return query.ToArray();
18 }
19 catch (Exception ex)
20 {
21 MessageBox.Show("Ocurrió el siguente error: " + ex.ToString());
22 return null;
23 }
24 }

Con este código creo el vinculo entre el ListBox y los datos:

Cita:
1 lbTest = (ListBox)LogicalTreeHelper.FindLogicalNode(rootEle ment, "lbTest");
2 lbTest.ItemsSource = (System.Collections.IEnumerable)this.GetTipoOpcion 2("actividades_secundarias");
3 lbTest.DisplayMemberPath = "opcion";
4 lbTest.SelectedValuePath = "id_opcion";
5 lbTest.SelectionMode = SelectionMode.Multiple;
Con el siguiente código obtengo los items seleccionados, con las tres cadenas q componen cada item:

Cita:
1 public void GetValorLb(string nombre)
2 {
3 ListBox lb;
4
5 try
6 {
7 lb = (ListBox)LogicalTreeHelper.FindLogicalNode(rootEle ment, nombre);;
8
9 foreach (object obj in lb.SelectedItems)
10 {
11 MessageBox.Show("Items Seleccionados: " + obj);
12 }
13
14 //return lb.SelectedItems;
15 }
16 catch (Exception ex)
17 {
18 //return null;
19 MessageBox.Show("Error: " + ex.ToString());
20 }
21 }
El problema es que no he podido individualizar cada una de las cadenas para poder usarlas.

Espero que alguien me pueda orientar un poco, tal ves estoy haciendo el retorno de los valores de la consulta mal y por eso me dice que son de tipo anonimo.

He intentado asignar el valor del object a un DataRowView pero tampoco me ha funcionado.


Gracias por su colaboración.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:25.