我将开发一个包含大量ComboBox的大型项目。
这些组合框中的大多数都将绑定到与另一个daataset / table相关的数据库字段。
例如。
我有以下2个表格:
公司{CompanyID,CompanyName,MainContact}
联系人{ContactID,ContactName}
当用户点击编辑公司时,A TextBox将在那里编辑公司名称,但ComboBox也会在那里。
我目前的做法是将ComboBox绑定到Contacts数据集,并手动更新后面代码中的Company MainContact字段。
我是否还要将所选项目绑定到XAML中的Company MainContact字段,将项目绑定到ContactName并删除后面的代码?
原因是当你开始在整个应用程序中创建100个组合框时,每次创建代码以进行更新时,它都会被啰嗦。
这有可能吗?
答案 0 :(得分:2)
首先,我强烈建议您为应用程序使用MVVM设计模式。仅MVVM应用程序中的数据绑定和命令将为您节省大量时间。
但无论如何,我会从肥皂盒中取出并告诉你如何正确绑定你的组合框:
<ComboBox ItemsSource="{Binding Contacts}" DisplayMemberPath="ContactName"
SelectedValue="{Binding Path=Company.MainContact,
UpdateSourceTrigger=PropertyChanged}"
SelectedValuePath="ContactName"/>
如您所见,ItemsSource绑定到您的Contacts数据集,但是当用户从列表中选择一个项目时,它将使用所选联系人更新Company.MainContact字段。