Я написал фрагмент для создания собственного DataTemplate с помощью кода C #. И я добавляю его в шаблон редактирования столбца datagrid.
Когда я вызвал объект templateContent = tc.CellTemplate.LoadContent ();
, приложение упало, и мне выдали исключение: «FrameworkElementFactory должен быть в запечатанном шаблоне для этой операции».
Это код, который я создаю для своей таблицы данных.
public override DataTemplate GenerateCellTemplate ( string propertyName )
{
DataTemplate template = new DataTemplate ( );
var textBlockName = string.Format ( "{0}_TextBlock", propertyName );
FrameworkElementFactory textBoxElement = new FrameworkElementFactory ( typeof ( TextBlock ), textBlockName );
textBoxElement.SetBinding ( TextBlock.TextProperty, new Binding ( propertyName ) );
template.VisualTree = textBoxElement;
Trigger trigger = new Trigger ( );
return template;
}