我想创建一个像这样的DataGrid:
用户可以在运行时添加 - 删除列。如图所示,我必须使用DatePicker和复选框以及特定单元格的其他控件。
我怎么能用WPF DataGrid做到这一点?
我想我必须更改特定单元格的DataTemplate,但我不知道如何
对于这种情况,DataGrid是否适当控制?
答案 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在标题中保存这些控件的数据,但这是可能的。