ComboBox C取决于ComboBox B的选定值,它取决于ComboBox A的选定值。所有这些ComboBox都在DataGrid中。
常见道路障碍:
我尝试过使用3个CollectionViewSources,每个ComboBox对应一个(Concept Code Here),但ComboBox的SelectedItem会在其他DataGrid行中自动选中。我需要找到一种方法将CollectionViewSource隔离到每一行。
我考虑过只将CollectionViewSource数据添加到每个DataGrid项目中,这样我就可以这样绑定它,但我必须访问数据库才能生成CollectionViewSource。
我也尝试过不像this question中那样共享CollectionViewSource,但是它破坏了3个ComboBoxes和Rows之间的链接。如果我可以将CollectionViewSources设置为在每个DataGrid行中共享而不是在每个DataGrid行之间共享,我认为它会起作用。我找不到办法做到这一点。
我看过这个问题:How to get cell level ComboBox for WPF DataGrid?
这可行,但用户需要能够向DataGrid添加行。该问题中的示例代码也使用无参数构造函数。我处于这样一种情况,即访问数据库以填充列表必须传递给构造函数。
我该如何正确地做到这一点?
答案 0 :(得分:1)
绑定到List
或ObservableCollection
,而不是CollectionViewSource
CollectionViewSource
跟踪当前项,因此更改一个ComboBox中的值将在所有ComboBox中更改它