我需要创建一个可重复使用的带有自定义CellTemplate的DataGrid列。这个CellTemplate应该包含一个TextBlock控件,我需要将值绑定到其中以显示在DataGrid中。目前我看到的所有例子都是在DataGrid的Columns属性中直接指定列的CellTemplate,并且直接对TextBlock指定了一个绑定,例如:
<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一样为其指定绑定。换句话说,当使用这个自定义列时,我只想写出以下内容:
<data:DataGrid>
<data:DataGrid.Columns>
<controls:CustomColumn Header="Name" Binding="{Binding Name}" />
</data:DataGrid.Columns>
</data:DataGrid>
问题在于我自定义列继承的DataGridTemplateColumn没有Binding属性。我以为我能够使用DataGridBoundColumn,但是无法为其指定CellTemplate。
如何实现所需的行为?谢谢!