各アイテムの表示方法を説明しItemsControl
たがあります。DataTemplate
DataTemplate内に配置したいUIは、XAMLでモデル化するには不適切であり、コードに入力する必要がありGrid
ます。
インスタンス化されるたびにこのコードを実行してDataTemplate
、XAMLで表現できなかったビットを入力する機会を得るにはどうすればよいですか?
少し拡張するために、単純化された例を考えてみましょう。VMは次のようになります。
class MyItem
{
public string Name { get; set; }
public MyGrid Grid { get; set; } // describes a complex grid-like model
}
このDataTemplate
ように見えます:
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
<Grid/>
</DataTemplate>
これ<Grid/>
は、に基づいてコードに入力したいものですMyItem.Grid
。これどうやってするの?
<Grid/>
(コードに入力するのではなく、XAMLを使用するだけでよいと言う場合は、代わりにこの質問に答えてください)