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);
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);