stackpanel中的垂直滚动

时间:2010-09-01 18:44:03

标签: wpf

我正在尝试将滚动条放在堆栈面板上。滚动条显示但不允许用户移动滚动条。我的XMAL有问题还是有更多的东西?

<GroupBox HorizontalAlignment="Left" Margin="268,8,0,0" VerticalAlignment="Top" Width="505.881" Height="352.653" Header="Metrics">
<Grid>
    <ScrollViewer>
        <StackPanel>
              </StackPanel>
          </ScrollViewer>
      </Grid>
</GroupBox>

堆栈面板的内容是扩展器,其中包含数据。

2 个答案:

答案 0 :(得分:22)

您不能设置GroupBox的宽度和高度,以使内部ScrollViewer工作。试试这个,你会发现它会正常工作。

<GroupBox Header="Metrics" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="268,8,0,0">
    <Grid>
        <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
            <StackPanel>
                <Expander Header="Expander">
                    <StackPanel>
                        <Button>Test</Button>
                        <Button>Test</Button>
                        <Button>Test</Button>
                        <Button>Test</Button>
                        <Button>Test</Button>
                        <Button>Test</Button>
                        <Button>Test</Button>
                        <Button>Test</Button>
                        <Button>Test</Button>
                    </StackPanel>
                </Expander>

            </StackPanel>
        </ScrollViewer>
    </Grid>
</GroupBox>

答案 1 :(得分:4)

ScrollViewer的默认设置为HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Visible",因此您看到的是ScrollViewer的可见但禁用的状态。如果ScrollViewer的内容变得高于可用空间,则垂直条将变为交互式并允许滚动。尝试设置VerticalScrollBarVisibility="Auto"以更清楚地了解它何时处于活动状态。