4
我需要使用自定義CellTemplate創建可重用的DataGrid列。除此之外,此CellTemplate應包含一個TextBlock控件,我需要將該值綁定到DataGrid中顯示的值。我見過的所有例子到目前爲止直接在DataGrid的Columns屬性使用時,並指定某列的CellTemplate還指定了一個直接綁定到TextBlock,如:使用CellTemplate自定義DataGrid列並綁定
<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沒有綁定屬性。我認爲我可以使用DataGridBoundColumn,但不可能爲它指定CellTemplate。
如何達到理想的行爲?謝謝!