Given this slightly simplified xaml
<ig:XamGrid CellEnteringEditMode="Items_CellEnteringEditMode" >
<ig:XamGrid.Columns> <ig:TextColumn Key="Number"/> <ig:TemplateColumn Key="Reference"> <ig:TemplateColumn.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding Reference, Mode=OneWay}"/> </DataTemplate> </ig:TemplateColumn.ItemTemplate> <ig:TemplateColumn.EditorTemplate> <DataTemplate> <portalControls:FormComboBox /> </DataTemplate> </ig:TemplateColumn.EditorTemplate> </ig:TemplateColumn> </ig:XamGrid.Columns> </ig:XamGrid>
The column key (reference) didn't have a setter, so column.IsEditable was false and attempts to edit were ignored.
I'd suggest perhaps that template columns which have a defined edittemplate which is bound to something other than the column key should be treated as editable if the editor binding has a setter.
In any case, it's a change & caught me out upgrading to 2010.2 Maybe this will help someone else :)
On consideration, I think this is a bug (or at least a feature which should be documented for TemplateColumn!)
Given a template column
<TemplateColumn Key="Property1"> <TemplateColumn.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding Property2}"/> </DataTemplate> </TemplateColumn.ItemTemplate> <TemplateColumn.EditorTemplate> <DataTemplate> <TextBlock Text="{Binding Property3}"/> </DataTemplate> </TemplateColumn.EditorTemplate></TemplateColumn>
The value of IsEditable is derived from Property1 only, so far as I can tell, even though Property2 is displayed and Property3 is edited (theoretically)
I think Property1 should be ignored in this case because the only thing it's contributing is a non-obvious behaviour which is contrary to all the other context.