我有一个包含ComboBox作为列的DataGrid。
让DataGrid将ItemsSource视为ObservableCollection,将ComboBox ItemsSource视为List。
我想根据DataGrid ItemsSource中的属性设置ComboBox SelectedItem属性。
但是Product类的属性ProductTypeId类型为int而不是ProductType。
那么我该如何设置ComboBox SelectedItem,使其显示Product.ProductTypeId的值为选中状态。 而且我想将SeletedItems与Mode = TwoWay绑定,这样每当ComboBox SelectedItem发生变化时,它都会反映在DataGrid的ItemsSource中。
非常感谢任何帮助。
感谢。
答案 0 :(得分:6)
DataGridComboBoxColumn
完全符合您的要求。要正确使用它,您需要了解以下属性:
SelectedValueBinding
- 这是对象/ viewmodel SelectedValuePath
- 这是ComboBox
内项目的值属性。当用户从SelectedValueBinding
中选择一个项目时,这将分配给您在ComboBox
中设置的媒体资源。DisplayMemberPath
- 这是ComboBox
设置ItemsSource
的{{1}}略有不同;请注意下面的示例,了解它是如何完成的。
这些与标准DataGridComboBoxColumn
上的相同(SelectedValueBinding
除外)。
以下是列的外观示例。
ComboBox