滚动条不可见

时间:2013-01-02 15:55:29

标签: wpf size scrollviewer

我有一个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>

1 个答案:

答案 0 :(得分:0)

@DavidShochet你对这个事业是正确的。 之所以会发生这种情况,是因为网格自动大小受限于其内容大小,因此如果选项卡正在增长,那么网格行也是如此,另一方面,DockPanel被限制为其父级大小。这就是你应该将其最大尺寸设置为200的原因。