WPF网格比例布局和未使用区域的问题

时间:2010-06-23 01:36:29

标签: c# wpf grid-layout

我有一个网格布局,将视图分成两部分,有效地用于两组标题和列表。我希望每个列表均匀地共享活动视图的高度,因此我使用了比例大小调整:

如果两个列表都超过了可用的高度,这就可以了。但是,如果顶部列表只有1或两个项目,它的大小很好地适合它所需的空间,但是第二个列表不使用所有剩余空间,它只使用原始屏幕大小的50%我喜欢如果第一个列表不需要一半,那就使用剩下的东西。

我可以使用Dock面板并让最后一行填充,但是如果第一个列表很大,我希望它按比例限制,而不是固定的最大高度。

有没有人知道网格是否支持这种情况,或者是否有某种组合来实现这一点,如果可用的大小对于两个列表都不够,则可以使用滚动,确保列表均匀地共享可用空间?

2 个答案:

答案 0 :(得分:0)

如果我正确理解你,那么我想不出用WPF的像素/比例/星/自动调整大小选项做出尺寸决定的方法......

但也许你可以通过获取ActualHeight / ActualWidth属性,然后根据你想要的比例计算你的MaxHeight / MaxWidth / Height / Width来使它在代码隐藏中工作。

答案 1 :(得分:0)

您可以通过覆盖MeasureOverride方法来实现。看看这里:

http://alecbryte.com/post/2009/01/16/WPF-Proportional-Panel.aspx