2011-03-09 93 views
1

预先感谢您的帮助。 我不得不从代码中为celleditingtemplate(datatemplate)中的usercontrol设置绑定。即我有一个带有2个datatemplatecolumns的网格,它有cellediting模板指向相同的数据模板。我需要根据用户正在编辑的单元格动态更改celleditingtemplate的绑定。 任何帮助将不胜感激。CellEditingTemplate中的动态绑定

谢谢

这里是示例代码。 这是在不同的资源文件

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

这是我需要设置绑定页面上后面的代码。

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) as CollectionData).DataElement);         
    }   
} 

回答

0

找到它。

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

感谢