WPF ComboBox如何绑定多项值

经常会遇到这样的情况,combobox中能存储一个数据值和一个显示值,我们看到的显示值,但是
实际使用的是数据值。而这个数据可能来源一个类或者一个数据库中的某张表。
在 .net winforms开发中很好处理,定义一个类A,定义两个属性。combobox插入数据的时候,直接
插入类的实例,然后在combobox控件的属性中设置 displaymemuber = 要显示的类属性。取值的
时候直接赋值给A的实例。然后通过 A.数据项目属性得到数据值。

wpf中可以利用绑定来实现:也不麻烦。
xaml:
<
ComboBox  Name="ComboBox1" Width="120" Height="22" ItemsSource="{Binding}"/>

c# Load:
ComboBox1 .ItemsSource = ds.Tables[0].DefaultView;
ComboBox1 .DisplayMemberPath = ds.Tables[0].Columns["Displayvalue"].ToString();
ComboBox1 .SelectedValuePath = ds.Tables[0].Columns["Datavalue"].ToString(); 

c# Get:
ComboBox1.Text
ComboBox1.SelectedValue.ToString()


这一般用于加载两列,如果想更多列 可以把datavalue值拼串进行,得到值后分解。

你可能感兴趣的:(C#)