首先,确定你的listbox的item是什么类型:
1)文本类型
一般是通过如下简单代码添加的item:
listBox.Items.Add("text"); // item直接是文本
那么,获取选择文本可以如下:
string selectedText = (sender as ListBox).SelectedItem.ToString();
2)用属性里面的集合类型(通过属性面板添加的属性)
用msdn上的方式即可得到选择文本:
msdn代码如下:
void PrintText(object sender, SelectionChangedEventArgs args)
{
ListBoxItem lbi = ((sender as ListBox).SelectedItem as ListBoxItem);
tb.Text = " You selected " + lbi.Content.ToString() + ".";
}
虽然msdn上说,如果是单选模式,用SelectedItem;多选用SelectedItems。但是我还是喜欢下面的,单选多选通用。
foreach (ListBoxItem lbi in listBox.SelectedItems)
{
if (lbi != null)
{
string str = lbi.Content.ToString();
}
}
你可以看到,用属性面板里面的“集合”添加的item,是ListBoxItem 类型,(sender as ListBox).SelectedItem 也就是这个类型。你要取它的Content属性值,这个才是显示的值。所以用代码:((sender as ListBox).SelectedItem as ListBoxItem).Content.ToString(); 得到显示的文本内容。