代码之家  ›  专栏  ›  技术社区  ›  programatique

如何在Silverlight中向StackPanel添加滚动条?

  •  4
  • programatique  · 技术社区  · 15 年前

    我有一个 Grid ,3 x 3(3行定义和3列定义)。我想要一些内容(A StackPanel )在其中一个网格单元格中滚动。我相当肯定这是可能的,但我不知道怎么做。我试着补充 ScrollViewers ScrollBar 控件到我要滚动的网格单元格,但这通常会为整个页面创建滚动。

    编辑: 我的问题是如何在 堆栈面板 . 例如,如果我遇到的问题在这里:

    <Grid x:Name="LayoutRoot">
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
    
        <Grid>
            <TextBlock FontSize="16">1,1</TextBlock>
        </Grid>
        <Grid Grid.Column="1">
            <TextBlock FontSize="16">1,2</TextBlock>
        </Grid>
        <Grid Grid.Row="1">
            <TextBlock FontSize="16">2,1</TextBlock>
        </Grid>
        <Grid Grid.Column="1" Grid.Row="1">
            <StackPanel>
                <TextBlock>Title</TextBlock>
                <Grid>
                    <ScrollViewer>
                        <StackPanel>
                            <TextBlock FontSize="32">2,2</TextBlock>
                            <TextBlock FontSize="32">2,2</TextBlock>
                            <TextBlock FontSize="32">2,2</TextBlock>
                            <TextBlock FontSize="32">2,2</TextBlock>
                            <TextBlock FontSize="32">2,2</TextBlock>
                            <TextBlock FontSize="32">2,2</TextBlock>
                            <TextBlock FontSize="32">2,2</TextBlock>
                            <TextBlock FontSize="32">2,2</TextBlock>
                            <TextBlock FontSize="32">2,2</TextBlock>
                            <TextBlock FontSize="32">2,2</TextBlock>
                            <TextBlock FontSize="32">2,2</TextBlock>
                            <TextBlock FontSize="32">2,2</TextBlock>
                            <TextBlock FontSize="32">2,2</TextBlock>
                            <TextBlock FontSize="32">2,2</TextBlock>
                        </StackPanel>
                    </ScrollViewer>
                </Grid>
            </StackPanel>
        </Grid>
    </Grid>
    
    1 回复  |  直到 12 年前
        1
  •  3
  •   dthorpe    15 年前

    StackPanel认为其内容具有无限的空间。要滚动stackpanel,您必须对某个对象设置高度约束-很可能是stackpanel的网格父对象。