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