WPF - example with DataGridComboBoxColumn

Unknown Coder picture Unknown Coder · Nov 12, 2009 · Viewed 32.5k times · Source

I have a datagrid with 2 columns. One column contains role information, the other column should have a combo box with a list of available users. The data in the combobox is unrelated to the data in the first column.

I'm thrown off by the fact that the combobox does not have a datacontext, only an itemsource and I can't seem to use binding either.

What is the method that uses two different data sets for the data in a table and in the combo box?

Answer

Aran Mulholland picture Aran Mulholland · Nov 15, 2009

the columns in the datagrid dont have a datacontext, as they are never added to the visual tree. sound a bit wierd but have a look at vinces blog, its got a good example of the visual layout. once the grid is drawn the cells have a data context and you can set the combo boxes items source in them using normal bindings (not static resources..)

you can access the combo box items source as such

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

have a look here and also here for some code