WPF-DataGridComboxColumn示例

WPF-DataGridComboxColumn示例,wpf,datagridcomboboxcolumn,Wpf,Datagridcomboboxcolumn,我有一个有两列的数据网格。一列包含角色信息,另一列应该有一个包含可用用户列表的组合框。组合框中的数据与第一列中的数据无关 combobox没有datacontext,只有itemsource,而且我似乎也不能使用绑定,这一事实让我很恼火 对于表和组合框中的数据,使用两个不同数据集的方法是什么?datagrid中的列没有datacontext,因为它们从未添加到可视化树中。听起来有点古怪,但看看,这是一个很好的视觉布局示例。绘制网格后,单元格具有数据上下文,您可以使用普通绑定(而不是静态资源)在其

我有一个有两列的数据网格。一列包含角色信息,另一列应该有一个包含可用用户列表的组合框。组合框中的数据与第一列中的数据无关

combobox没有datacontext,只有itemsource,而且我似乎也不能使用绑定,这一事实让我很恼火


对于表和组合框中的数据,使用两个不同数据集的方法是什么?

datagrid中的列没有datacontext,因为它们从未添加到可视化树中。听起来有点古怪,但看看,这是一个很好的视觉布局示例。绘制网格后,单元格具有数据上下文,您可以使用普通绑定(而不是静态资源)在其中设置组合框项源

您可以访问组合框项目源

   <dg:DataGridComboBoxColumn>
      <dg:DataGridComboBoxColumn.EditingElementStyle>
        <Style TargetType="ComboBox">
            <Setter Property="ItemsSource" Value="{Binding Path=MyBindingPath}" />
        </Style>
      </dg:DataGridComboBoxColumn.EditingElementStyle>
   </dg:DataGridComboBoxColumn>


查看并查找一些代码,而不是使用
DataGridTextColumn
可以使用
DataGridComboxColumn
。然后使用
ItemsSource
填充数据,在下面的示例中,它指向静态资源中的外部
enum
,最后将结果绑定到目标对象,该对象将保存用户在
SelectedItemBinding
中的选择

<DataGrid.Columns>

<DataGridComboBoxColumn Header="MySelections"  
                        SelectedItemBinding="{Binding MySelectionsProperty}" 
                        ItemsSource="{Binding Source={StaticResource mySelectionsEnum}}" />
</DataGrid.Columns>


请参见MSDN上的完整示例,网址为

您必须对
ElementStyle
属性执行相同操作,请参见此处:@UnkownCoder,带有短语的问题,如“可以为我指点方向”可能会被确定为离题(请参见)。