C# コードで独自の DataTemplate を作成するためのスニペットを作成しました。そして、それをデータグリッド列の編集テンプレートに追加します。を呼び出すobject 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;
}