Escribí un fragmento para crear un propio DataTemplate por código C#. Y lo agrego a la plantilla de edición de la columna de cuadrícula de datos. Cuando llamé al object templateContent = tc.CellTemplate.LoadContent ();
, la aplicación se bloqueó, y me arrojó una excepción que es "FrameworkElementFactory debe estar en una plantilla sellada para esta operación". Este es el código que creo mi datatemplate.FrameworkElementFactory debe estar en una plantilla sellada para esta operación
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;
}
You rock! ¡Gracias! – Marc
He estado creando DataTemplates dinámicamente con un Telerik GridView y tuve que llamar a Seal() para que funcione. ¿Sabes por qué? No pude encontrar ningún ejemplo de por qué debería usarse esto? –