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。