In all of the examples of DataGridComboBoxColumn ItemSource comming from the Resources. Couldn't it be binding directly to a list in the CodeBehind ?
+2
A:
It depends what you mean with binding directly to a list in the CodeBehind.
You can declare the column with...
<DataGridComboBoxColumn x:Name="m_column" ../>
and then in code-behind set the ItemsSource...
m_column.ItemsSource=yourItemsSource
However you can not directly use the binding in XAML, something like:
<DataGridComboBoxColumn ItemsSource="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=YourElement}}"/>
because DataGridComboBoxColumn
is not a part of the visual tree.
There are workarounds for this. The most simple is using a DataGridTemplateColumn and placing the ComboBoxes directly in the edit-DataTemplate. If you use a ViewModel, you can provide the data through it. Otherwise look here and here for workarounds.
HCL
2010-09-07 15:38:34
Thanks, I'll be glad
Erez
2010-09-07 15:47:46