WPF ListBox获取选中内容

来源:转载

最近项目要用wpf做,没接触过.net的c++程序员,只好开始学习wpf了。

今天要用到listbox,后台用c#代码获取listbox选中的文本,突然发现,没有没有直接的函数,只好从属性获取。于是,如下写代码:

listBox.SelectedItem.ToString(); // 没有查msdn

发现取得的文本竟然带“System.Windows.Controls…”这样的命名空间。

于是上网google,看了前面几个网页,竟然没有自己满意的答案,大多数都是这样说的:

DataRow dr = ListBox.SelectedItem as DataRow;

string selectedText = dr["字段"].ToString();

可是我没有绑定数据源,直接界面输入。

自己试了几次,发现不行,只好msdn。(这就是英文不好、看不进去英文的程序员的悲剧。第一时间不想看msdn)

发现,msdn上说的很清楚了,郁闷啊,当时的我。msdn代码如下:

void PrintText(object sender, SelectionChangedEventArgs args) 

{     ListBoxItem lbi = ((sender as ListBox).SelectedItem as ListBoxItem); 
    tb.Text = "   You selected " + lbi.Content.ToString() + "."; 
}

我的最终代码如下: 
foreach (ListBoxItem lbi in listBox.SelectedItems) 

    if (lbi != null) 
    { 
        string str = lbi.Content.ToString(); 
    } 

虽然msdn上说,如果是单选模式,用SelectedItem;多选用SelectedItems。但是我还是喜欢下面的,单选多选通用。

哎,看来学好英语是很有必要的啊。不能再害怕英语。

本文来自Alsmile的博客,原文地址:http://blog.csdn.net/Alsmile/archive/2011/06/27/6569980.aspx


分享给朋友:
您可能感兴趣的文章:
随机阅读: