カスタム CellTemplate を使用して再利用可能な DataGrid 列を作成する必要があります。この CellTemplate には、DataGrid に表示する値をバインドする必要がある TextBlock コントロールが含まれている必要があります。これまでに見たすべての例では、DataGrid の Columns プロパティで使用するときに列の CellTemplate を直接指定し、TextBlock に直接 Binding を指定しました。
<data:DataGrid>
<data:DataGrid.Columns>
<data:DataGridTemplateColumn Header="Name">
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
</data:DataGrid.Columns>
</data:DataGrid>
この列を単一の再利用可能なコントロールにカプセル化する必要があり、通常の DataGridTextColumn と同じように Binding を指定したいと考えています。つまり、このカスタム列を使用するときは、次のように書きたいだけです。
<data:DataGrid>
<data:DataGrid.Columns>
<controls:CustomColumn Header="Name" Binding="{Binding Name}" />
</data:DataGrid.Columns>
</data:DataGrid>
問題は、カスタム列が継承している DataGridTemplateColumn に Binding プロパティがないことです。DataGridBoundColumn が使えると思ったのですが、CellTemplate を指定することができません。
望ましい動作を実現する方法は? ありがとうございました!