开发者

Dynamic Binding in CellEditingTemplate

Thanks in advance for the help. I'm having to set the binding for the usercontrol which is in the celleditingtemplate(datatemplate) from the code. i.e. I have a grid with 2 datatemplatecolumns which has celleditingtemplate that points to the same datatemplate. I need to change the binding of the celleditingtemplate dynamically based on which cell the user is editing. Any help will be highly appreciated.

Thanks

Here is the sample code. This is in a separate Resource file

<DataTemplate x:Key="TextCellEditingTemplate">        
          <UserControls:TextControl HorizontalAlignment="Left"/>    
</DataTemplate>

This is the code behind on the page where I need to set the binding.

private void datagrid_BeginningEdit(object sender, DataGridBeginningEditEventArgs e)        
{            
var row = e.Row;            
var column = e.Column as DataGridTemplateColumn;            
if (column != null)            
  {                
//sets the template based on the dataelement                
column.CellEditingTemplate = UserControlFactory.GetCellEditingTemplate(((row.DataContext) a开发者_开发技巧s CollectionData).DataElement);                                 
  }        
}


Found it.

private void datagrid_PreparingCellForEdit(object sender, DataGridPreparingCellForEditEventArgs e)
    {
        e.EditingElement.DataContext = CollectionDataToEdit;
    }

Thanks

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜