我正在制作用户界面,如下图所示。
它是一个DataGrid,Itemsource绑定到List。我无法为ColumnSpan
设置TextBox
。首先,我尝试使用UserControl
但我无法修复DataGridTemplateColumn Header,然后我尝试了DataGridTemplateColumn.CellTemplate但无法设置ColumnSpan
。
有没有办法/方法来制作这种Datagrid?
提前谢谢。
答案 0 :(得分:1)
ColumnSpan
中没有DataGrid
,与普通Grid
一样。
要获得这种布局,你有3个选择,遗憾的是都有很多缺点。
使用merge事件将代码中的单元格合并在一起。 See a guide to this here这需要大量代码 编码以使您的布局正确。所以我真的建议 对此。
使用RowDetails
中的内置版本。这不会使您的布局与您的布局完全相同,但它是最符合您要求的最简单和最接近的版本。
看起来像这样:
配置简单:
在DataGrid XAML中设置:RowDetailsVisibilityMode="Visible"
。
并为行定义模板:
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<TextBlock Text="{Binding Desc}" Background="LightGray"/>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
[+]
所有DataGrid函数都可以工作:排序,添加行,调整大小......
[-]
详细信息部分涵盖整行。
请参阅this tutorial about what you can do with row details.
使用模板和代码。一些可能对您有帮助的资源:
答案 1 :(得分:0)