2011-11-08 9 views
0

我有一个Grid与这些行设置: (我不能发表太多的代码,对不起)的ScrollViewer的ActualHeight超过屏幕分辨率

RowDefinition Height="1*" 

RowDefinition Height="120" 

该网格里面我有一个ScrollViewerHeight="Auto"verticalAlignment = "Stretch"在行0.

在第2行,我有另一个网格,固定高度为60像素。

当我做this.UpdateLayout(在UserControl里面)时,那么scrollviewer.ActualHeight转到2332,它与它内部的图像大小相同并且超过分辨率屏幕。为什么不更新以适应屏幕?

谢谢。

+1

里面的网格本身是什么? –

+0

将第一个RowDefinition Height设置为“Star” - 没有多大意义,因为它永远不会填充剩余空间,“Star”通常用于最后一行或最后一列。通常情况下,UpdtaeLayout是不需要的 - 毕竟它是异步工​​作的,所以你看窗口无论如何都不会显示正确的数字。 – 2011-11-08 21:42:18

+0

网格有一个scrollviewer,一个网格和其他不重要的东西。我已经尝试了0.8 *和0.2 *或类似的东西。 – Seva

回答

1

如果您将外部Grid置于f.i.一个StackPanel与方向垂直,那么可能没有限制在网格的高度,然后不是ScrollViewer垂直限制。将Grid放置在DockPanel中,或设置Grid的(最大)高度。然后ScrollViewer将有一个有限的高度。

+0

这种没解决。但是让我注意到了这个错误。我的userControl的主要容器是一个堆栈面板。当我将其更改为Grid时。有效! :D ty – Seva