WPF:更改DataGrid上特定单元格的DataTemplate

时间:2013-09-03 08:01:51

标签: wpf

我想创建一个像这样的DataGrid:

enter image description here

用户可以在运行时添加 - 删除列。如图所示,我必须使用DatePicker和复选框以及特定单元格的其他控件。
我怎么能用WPF DataGrid做到这一点?
我想我必须更改特定单元格的DataTemplate,但我不知道如何
对于这种情况,DataGrid是否适当控制?

1 个答案:

答案 0 :(得分:1)

我建议将所有过滤器控件(?)放在DataGrid标题中“悬挂”下面的行上方。你可以把它放在那里。

<Window.Resources>
    <DataTemplate x:Key="MySpecialHeaderTemplate">
        ...
    </DataTemplate>
</Window.Resources>
<Grid>
    <DataGrid>
        <DataGrid.Columns>
            <DataGridTextColumn HeaderTemplate="{StaticResource MySpecialHeaderTemplate}"
                    Binding="{Binding ...}" />
            <DataGridTextColumn HeaderTemplate="{StaticResource MySpecialHeaderTemplate}"
                    Binding="{Binding ...}" />
        </DataGrid.Columns>
    </DataGrid>
</Grid>

这并不容易,尤其是查找ViewModel在标题中保存这些控件的数据,但这是可能的。