在WPF中将选定的列值从Datagrid设置为Combobox(显示部分)

时间:2016-03-26 15:15:35

标签: wpf entity-framework combobox datagrid ef-code-first

我有DataGrid Equipments。而且我有EquipmnetMakers类。

现在我制作了“编辑”按钮,可以编辑所有值。 我使用ItemsSource填充Combobox所有可用的EquipmentMakers

现在,我想在EquipmentMaker中显示所选行的Combobox

请帮助!

1 个答案:

答案 0 :(得分:0)

我认为有几种可能性。

其中一个使用SelectedItemBinding的{​​{1}}属性。 它必须指向DataGridComboBoxColumn属性(我假设您的EquipmentMaker类具有Equipment属性。)


EquipmentMaker


此示例要求视图模型包含<DataGrid ItemsSource="{Binding EquipmentMakers}" AutoGenerateColumns="False" > <DataGrid.Columns> <!-- Other columns here --> <DataGridComboBoxColumn Header="Equipment makers" SelectedItemBinding="{Binding EquipmentMaker}"> <DataGridComboBoxColumn.ElementStyle> <Style TargetType="{x:Type ComboBox}"> <Setter Property="IsDropDownOpen" Value="True" /> <Setter Property="ItemsSource" Value="{Binding Path=DataContext.AllEquipmentMakers, RelativeSource={RelativeSource AncestorType={x:Type Window}}, UpdateSourceTrigger=PropertyChanged}" /> <Setter Property="IsReadOnly" Value="True"/> </Style> </DataGridComboBoxColumn.ElementStyle> <DataGridComboBoxColumn.EditingElementStyle> <Style TargetType="{x:Type ComboBox}"> <Setter Property="ItemsSource" Value="{Binding Path=DataContext.AllEquipmentMakers, RelativeSource={RelativeSource AncestorType={x:Type Window}}, UpdateSourceTrigger=PropertyChanged, IsAsync=True}" /> </Style> </DataGridComboBoxColumn.EditingElementStyle> </DataGridComboBoxColumn> </DataGrid.Columns> </DataGrid> 集合和列表Equipments,其中包含用户可在组合框中选择的AllEquipmentMakers个实例。

您也可以查看this个问题。这里使用EquipmentMaker