2013-12-18 18 views

回答

2

我可能是错的,但我不认为电网提供一个内置的滚动viwer你可以这样做:

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

注:请注意,Stackpanels内容一般不会垂直拉伸你的方式预计

+0

如果您只需要滚动窗口的那一部分,您也可以只包装网格(不包装堆叠面板)。 – BradleyDotNET

+0

@LordTakkera多数民众赞成在正确的。 – TMan

+1

滚动查看器应该有固定的高度(特别是在你只需要网格滚动的情况下)。 在整个窗口滚动的情况下,固定高度不是必需的。 – BradleyDotNET

1

编辑我假设OP意味着DataGrid ...如果Grid之意,那么我会推迟到@ TMAN的答案...


一个StackPanel的特点是,它提供了一个无限(垂直或水平)尺寸。因此,如果DataGrid是它的孩子,那么它会看到它有无限的空间,并用尽它所需的全部量(因此不滚动)。

要启用滚动,您需要以某种方式限制DataGrid的高度。例如,在网格上设置一个HeightMaxHeight。或者使用另一个面板,如Grid,它不具有无限空间。

你也可以考虑将StackPanel包装在ScrollViewer中。

+0

我不认为限制网格的高度会强制滚动条,ScrollViewer是正确的方法 – BradleyDotNET

+0

@LordTakkera正确...我认为“WPF网格”的意思是“DataGrid”,但我想我没有太多的基础那个假设。 – McGarnagle

+1

@McGarnagle我的意思是wpf网格而不是数据网格。感谢您的回答。我喜欢你的解释,你的回答是有用的,因此它赞成。 – user2330678