SilverlightのDataTemplateをコードで作成する方法

Silverlight の DataTemplate クラスは、テンプレートを構築するためのプロパティやメソッドを提供していません。動的に DataTemplate を作成する必要がある場合、DataTemplate クラスを直接操作するのは不可能です。

どうしても DataTemplate をコードで作成したい場合は、XamlReader を使うしかありません。こんな感じ。

DataTemplate template = (DataTemplate)XamlReader.Load(
    @"<DataTemplate
           xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation"">
           <StackPanel Orientation=""Horizontal"">
                <TextBlock Text=""{Binding Path=FirstName}""/>
                <TextBlock Text=""{Binding Path=LastName}""/>
           </StackPanel>
      </DataTemplate>");

力技ですね。