jueves, 29 de agosto de 2013

Obtener el valor del item seleccionado del ListBox o ComboBox en C# WPF

Es habitual que además de añadir una cadena al ListBox o ComboBox añadamos o relacionemos también un valor numérico con dicha cadena. También sucede que al recuperar, por lo menos los que estamos acostumbrados a VB quisiéramos recuperar el valor de esta forma ListBox1.SelectedValue, sin embargo esto no funciona en controles WPF, pero aquí les dejo la forma de recuperar el valor (no la cadena que puede ser visualizada) en 2 lineas.

Si es un ListBox,

string valor = ((System.Data.DataRowView)ListBox1.SelectedItem).Row.ItemArray[0].ToString();
MessageBox.Show(valor);

Si es un ComboBox

string valor = ((System.Data.DataRowView)ComboBox1.SelectedItem).Row.ItemArray[0].ToString();
MessageBox.Show(valor);

(editado)
Si por si caso te preguntas como recuperar la cadena que has seleccionado

string valor = ComboBox1.SelectedItem.ToString();
MessageBox.Show(valor);

miércoles, 28 de agosto de 2013

Error extraño en C#

No se que paso, prácticamente es el mismo código, cuando me apareció el error "No se puede utilizar como método el miembro 'System.Data.DataSet.Tables' no invocable", busque por internet la solución y no encontré nada.

Lo bueno es que lo arregle, probando todo tipo de código que encontré por ahí, y al final encontré uno que funcionaba todo chevere, copie linea por linea en el que me daba error, y lo gracioso es que me sigue dando error.

El código de arriba, se encuentra en un botón (el que esta mal) y el otro en otro botón en la misma ventana WPF, son completamente iguales solo que no se porque en el primer caso me da error.