如何在 Silverlight 中将 ScrollBar 添加到 StackPanel? [英] How to add a ScrollBar to a StackPanel in Silverlight?
问题描述
我有一个 Grid
,3 x 3(3 个 RowDefinitions 和 3 ColumnDefinitions).我想要滚动这些网格单元格之一中的一些内容(StackPanel
).我相当确定这是可能的,但我无法弄清楚如何.我尝试将 ScrollViewers
和 ScrollBar
控件添加到我想要滚动的网格单元中,但这通常最终会为整个页面创建滚动.
I have a Grid
, 3 by 3 (3 RowDefinitions and 3 ColumnDefinitions). I want some content (a StackPanel
) in one of those grid cells to scroll. I'm fairly sure this is possible but I cannot figure out how. I've tried adding ScrollViewers
and ScrollBar
controls to the grid cell I want to scroll, but this usually ends up creating scrolling for the entire page.
我的问题更具体地说是如何滚动 StackPanel
.一个例子,如果我遇到的问题在这里:
My issue is more specificlly how I can get scrolling over a StackPanel
. An example if the issue I am having is here:
<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>
推荐答案
StackPanel 对待其内容具有无限的空间.要滚动堆栈面板,您将不得不对某些东西施加高度约束 - 最有可能是堆栈面板的网格父级.
StackPanel treats its content has having infinite space. To scroll the stackpanel, you're going to have to put a height constraint on something - the grid parent of the stackpanel, most likely.
这篇关于如何在 Silverlight 中将 ScrollBar 添加到 StackPanel?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!