Динамическое связывание в CellEditingTemplate
Заранее спасибо за помощь. Я должен установить привязку для usercontrol, который находится в шаблоне cellediting (datatemplate) из кода. то есть у меня есть сетка с двумя столбцами данных dateate, у которой есть шаблон cellediting, который указывает на тот же самый шаблон данных. Мне нужно изменить привязку шаблонной ячейки динамически в зависимости от того, какую ячейку редактирует пользователь. Любая помощь будет высоко оценена.
Спасибо
Вот пример кода. Это в отдельном файле ресурсов
<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 ответ
Решение
Нашел это.
private void datagrid_PreparingCellForEdit(object sender, DataGridPreparingCellForEditEventArgs e)
{
e.EditingElement.DataContext = CollectionDataToEdit;
}
Спасибо