我有一个WPF用户控件。它包含几个用GridSplitters分隔的扩展器。在下面的代码中,您可以看到第二个Expander包含一个TabControl项。其中一个选项卡有一个DataGrid。我的问题是,当Expander扩展,并且并非所有记录都符合MaxHeight 200(参见下面的代码)时,滚动不可见。当我将GridSplitter移动到扩展器下面时,它确实会出现,但是如何在没有额外操作的情况下显示它?
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="4"></RowDefinition>
<RowDefinition Height="Auto" MaxHeight="200"></RowDefinition>
<RowDefinition Height="4"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal" Margin="0,3">
...
</StackPanel>
...
<Expander Grid.Row="2" IsExpanded="False" Header="Gathered File History">
...
</Expander>
<GridSplitter Grid.Row="3"
Height="4"
Background="Gray"
HorizontalAlignment="Stretch"></GridSplitter>
<Expander Grid.Row="4" IsExpanded="True" Header="Data Analysis: Detail Queries">
<TabControl x:Name="Items" >
...
</TabControl>
</Expander>
<GridSplitter Grid.Row="5"
Height="4"
Background="Gray"
HorizontalAlignment="Stretch"></GridSplitter>
<Expander Grid.Row="6" IsExpanded="True" Header="Source Detail Records">
...
</Expander>
</Grid>
答案 0 :(得分:0)
@DavidShochet你对这个事业是正确的。 之所以会发生这种情况,是因为网格自动大小受限于其内容大小,因此如果选项卡正在增长,那么网格行也是如此,另一方面,DockPanel被限制为其父级大小。这就是你应该将其最大尺寸设置为200的原因。