我有一个包含2列的数据表格。一列包含角色信息,另一列应该有一个下拉框,其中包含可用用户列表。下拉框中的数据与第一列中的数据无关。
问题在于下拉框没有数据上下文,只有项源,而且似乎也不能使用绑定。
有什么方法可以在数据表格和下拉框中使用两个不同的数据集?
我有一个包含2列的数据表格。一列包含角色信息,另一列应该有一个下拉框,其中包含可用用户列表。下拉框中的数据与第一列中的数据无关。
问题在于下拉框没有数据上下文,只有项源,而且似乎也不能使用绑定。
有什么方法可以在数据表格和下拉框中使用两个不同的数据集?
<dg:DataGridComboBoxColumn>
<dg:DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource" Value="{Binding Path=MyBindingPath}" />
</Style>
</dg:DataGridComboBoxColumn.EditingElementStyle>
</dg:DataGridComboBoxColumn>
ElementStyle
属性做同样的操作,参见这里:https://tech-disasters.blogspot.com/2016/10/mvvm-datagridcomboboxcolumn-binding.html - ice1e0不使用DataGridTextColumn
,而是使用DataGridComboBoxColumn
。然后使用ItemsSource
填充数据,以下示例中指向静态资源中的外部enum
,最后将结果绑定到目标对象,该对象将在SelectedItemBinding
中保存用户选择。
<DataGrid.Columns>
<DataGridComboBoxColumn Header="MySelections"
SelectedItemBinding="{Binding MySelectionsProperty}"
ItemsSource="{Binding Source={StaticResource mySelectionsEnum}}" />
</DataGrid.Columns>