最近项目要用wpf做,没接触过.net的c++程序员,只好开始学习wpf了。
首先,确定你的listbox的item是什么类型:
1)文本类型
一般是通过如下简单代码添加的item:
listBox.Items.Add("text"); // item直接是文本
那么,获取选择文本可以如下:
string selectedText = (sender as ListBox).SelectedItem.ToString();
2)用属性里面的集合类型(通过属性面板添加的属性)
用msdn上的方式即可得到选择文本:
msdn代码如下:
虽然msdn上说,如果是单选模式,用SelectedItem;多选用SelectedItems。但是我还是喜欢下面的,单选多选通用。
你可以看到,用属性面板里面的“集合”添加的item,是ListBoxItem 类型,(sender as ListBox).SelectedItem 也就是这个类型。你要取它的Content属性值,这个才是显示的值。所以用代码:((sender as ListBox).SelectedItem as ListBoxItem).Content.ToString(); 得到显示的文本内容。
3)绑定的表datatable
因为你绑定的数据是表,所以你的选择项是DataRow类型,要如下操作即可:
DataRow dr = ListBox.SelectedItem as DataRow;
string selectedText = dr["字段"].ToString();
4)如果你绑定数据是自定义的集合类型:
自定义数据类型
指定DataContext :这里简单用代码了。有时可以共享父控件的
listBoxXXX.DataContext = XXXInfos;
那么你的SelectItem就是:
XXXInfo selected = (sender as ListBox).SelectedItem as XXXInfo ;
然后,取你自己想要的东西吧
5)其他,举一反三即可
ComboBox,及其他很多都很类似,自己领悟吧。
本文来自Alsmile的博客,原文地址:http://blog.csdn.net/Alsmile/article/details/6569980
联系客服