我有一个带有RowDetailsTemplate的DataGrid,它包含一个DataGrid。 父网格放在它自己的行中。 该行定义为
<RowDefinition Height="*" />
通常这意味着该行将采用可用高度的REST并初始化它。但是如果DataGrid对于屏幕上留下的空间来说太大了,那么DataGird的底部会在“屏幕下”消失,而不是获得滚动条。
我试图通过为父网格定义MaxHeight = 400来解决它,但是,即使是,父网格的长度也是无限的,并且仍然很长,以至于它的部分是不可见的。
有什么想法可以做些什么吗?
答案 0 :(得分:0)
我认为你不应该使用StackPanel
。如果Orientation
为Vertical
,则其高度会增加到无穷大。也许你应该使用另一个小组。
答案 1 :(得分:0)
将MaxHight设置为父网格对网格的高度没有任何影响。 另一方面,将MaxHight设置为内部网格确实有效。
因此我这样解决了: 首先,我把我的行命名为“rowGridRow”。
比我订阅内部网格的Loaded事件并执行此操作:
private void dgGroupMedlem_Loaded(object sender, RoutedEventArgs e)
{
DataGrid dgGroupMedlem = sender as DataGrid;
dgGroupMedlem.MaxHeight = rowGridRow.ActualHeight - xxx;
}
xxx是一些补偿其他内容的值(如标题),应该可以根据父网格的行数进行计算。