我有DataGrid
Equipments
。而且我有EquipmnetMakers
类。
现在我制作了“编辑”按钮,可以编辑所有值。
我使用ItemsSource
填充Combobox
所有可用的EquipmentMakers
。
现在,我想在EquipmentMaker
中显示所选行的Combobox
。
请帮助!
答案 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
。