【问题标题】:WPF: find how much space a control needsWPF:查找控件需要多少空间
【发布时间】:2011-09-25 19:30:41
【问题描述】:

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

这些控件是在运行时生成的,它们的内容会根据底层数据而有所不同,所以我事先不知道它们会占用多少空间。

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

我尝试了“DesiredSize”属性,它有点可以工作,但并非总是如此:如果控件已经被使用(它已经有一个大小)它返回它最后使用的大小而不是正确的一,即使我调用“InvalidateMeasure()”。

有什么想法吗??

【问题讨论】:

    标签: wpf layout wpf-controls


    【解决方案1】:

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

    【讨论】:

    • 谢谢,这似乎是正确的方法,做了一些测试,它的工作原理!
    • 在这种情况下不需要排列。 DesiredSize 通过measure pass 计算,而arrange pass 计算RenderSize。
    猜你喜欢
    • 2020-12-04
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-10
    相关资源
    最近更新 更多