Динамическое связывание в CellEditingTemplate - PullRequest
1 голос
/ 09 марта 2011

Заранее спасибо за помощь. Я должен установить привязку для usercontrol, который находится в шаблоне cellediting (datatemplate) из кода. то есть у меня есть сетка с двумя столбцами данных, которая имеет шаблон ячейки, который указывает на тот же шаблон данных. Мне нужно изменить привязку шаблонной ячейки динамически в зависимости от того, какую ячейку редактирует пользователь. Любая помощь будет высоко оценена.

Спасибо

Вот пример кода. Это в отдельном файле ресурсов

<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);                                 
  }        
}

1 Ответ

0 голосов
/ 10 марта 2011

Нашли.

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

Спасибо

...