绑定ComboBox的最佳方法

时间:2010-04-16 10:29:39

标签: c# wpf data-binding xaml dataset

我将开发一个包含大量ComboBox的大型项目。

这些组合框中的大多数都将绑定到与另一个daataset / table相关的数据库字段。

例如。

我有以下2个表格

公司{CompanyID,CompanyName,MainContact}
联系人{ContactID,ContactName}

当用户点击编辑公司时,A TextBox将在那里编辑公司名称,但ComboBox也会在那里。

我目前的做法是将ComboBox绑定到Contacts数据集,并手动更新后面代码中的Company MainContact字段。

我是否还要将所选项目绑定到XAML中的Company MainContact字段,将项目绑定到ContactName并删除后面的代码?

原因是当你开始在整个应用程序中创建100个组合框时,每次创建代码以进行更新时,它都会被啰嗦。

这有可能吗?

1 个答案:

答案 0 :(得分:2)

首先,我强烈建议您为应用程序使用MVVM设计模式。仅MVVM应用程序中的数据绑定和命令将为您节省大量时间。

但无论如何,我会从肥皂盒中取出并告诉你如何正确绑定你的组合框:

<ComboBox ItemsSource="{Binding Contacts}" DisplayMemberPath="ContactName" 
    SelectedValue="{Binding Path=Company.MainContact, 
    UpdateSourceTrigger=PropertyChanged}" 
    SelectedValuePath="ContactName"/>

如您所见,ItemsSource绑定到您的Contacts数据集,但是当用户从列表中选择一个项目时,它将使用所选联系人更新Company.MainContact字段。