如何从数据绑定ListBox中获取Listbox项和select

如何从数据绑定ListBox中获取Listbox项和select

本文介绍了WPF-如何从数据绑定ListBox中获取Listbox项和selectedvalue的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨朋友,



任何人请告诉我如何从数据绑定列表框中获取所选值和项目



请帮帮我,提前致谢。



XAML代码



Hi Friends,

Anyone please let me know how to get the selected value and item from a data bound ListBox

Please help me, Thanks in advance.

XAML code

<ListBox x:Name="listbox1" Width="150" ItemsSource="{Binding Things}" DisplayMemberPath="department_name" SelectedValuePath="department_id" Margin="12,35,326,12"  />





C#

数据绑定与数据集





C#
Data binding with Dataset

listbox1.DisplayMemberPath = "department_name";
listbox1.SelectedValuePath = "department_id";
listbox1.ItemsSource = ds.Tables[0].DefaultView;







输出






Output

MessageBox.Show(listbox1.Items.CurrentItem.ToString());//Output -System.Data.DataRowView
MessageBox.Show(listbox1.SelectedItem.ToString());////Output -System.Data.DataRowView
MessageBox.Show(listbox1.SelectedValue.ToString());//Object reference not set to an instance of an object.

推荐答案

MessageBox.Show(listbox1.SelectedValue != null ? listbox1.SelectedValue.ToString() : "I have 0 selected item!"); // If the selected value is null print a custom message.



编辑(根据您的评论) .-

在您的Selection_Changed事件中写下:


Edit(based on your comment).-
Inside your Selection_Changed event write this:

if (listbox1.SelectedItem!=null)
{
    MessageBox.Show(listbox1.Items.CurrentItem.ToString());//Output -System.Data.DataRowView
    MessageBox.Show(listbox1.SelectedItem.ToString());////Output -System.Data.DataRowView
    MessageBox.Show(listbox1.SelectedValue != null ? listbox1.SelectedValue.ToString() : "I have 0 selected item!");
}



另一种方法。这将起作用!


Another approach. This going to work!

if (listbox1.SelectedItem!=null)
{
    DataRowView d1=listbox1.SelectedItem as DataRowView;
    MessageBox.Show(d1["department_id"].tostring());
}





希望有所帮助。



Hope it helps.


这篇关于WPF-如何从数据绑定ListBox中获取Listbox项和selectedvalue的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-31 08:06