Template をコードで組み立てる

Template をコードで組み立てるときは、FrameworkElementFactory を使えば良いです。

例えば、以前 ListView の多段表示の XAML を書きましたが、その時のテンプレートをコードで書くと次のようになります。

// 伝票種を表示する TextBlock
FrameworkElementFactory kindFactory = new FrameworkElementFactory(typeof(TextBlock));
// Kind プロパティをバインドする
kindFactory.SetBinding(TextBlock.TextProperty, new Binding("Kind"));

// 伝票種別を表示する TextBlock
FrameworkElementFactory noFlagFactory = new FrameworkElementFactory(typeof(TextBlock));
// NoFlag プロパティをバインドする
noFlagFactory.SetBinding(TextBlock.TextProperty, new Binding("NoFlag"));

// セルを多段にするための StackPanel
FrameworkElementFactory stackPanelFactory = new FrameworkElementFactory(typeof(StackPanel));
// 2つの TextBlock を追加する
stackPanelFactory.AppendChild(kindFactory);
stackPanelFactory.AppendChild(noflagFactory);

// CellTemplate を作成
DataTemplate template = new DataTemplate();
// 作成したビジュアルツリーをセット
template.VisualTree = stackPanelFactory;

後はこれを CellTemplate にセットすれば OK。