WPF:找出控件需要多少空间

时间:2011-06-30 08:50:19

标签: wpf layout wpf-controls

在我的应用程序中,我在主窗口中有一个区域,任何时候都可以包含几个不同控件中的一个。

此控件是在运行时生成的,其内容可能因底层数据而异,因此我事先并不知道它们会占用多少空间。

我想知道的是:有没有办法在运行时确定控件需要多少空间才能“切断”或需要滚动?即:它需要多少空间才能完全可见?

我尝试了“DesiredSize”属性并且它有点有效,但并非总是如此:如果已经使用了控件(它已经有一个大小),则返回它的最后使用的大小而不是正确的一,即使我称之为“InvalidateMeasure()”。

任何想法??

1 个答案:

答案 0 :(得分:2)

在控件上调用Measure。给它无限的空间作为计算的可用大小。然后检查DesiredSize以获得所需的宽度(和/或高度)。