2

我基本上希望我的窗口的某些部分不影响 SizeToContent (像标题栏这样的东西),所以它看起来没有大小并且折叠起来。有没有我可以使用的面板(比如 ScrollViewer?)还是我必须自己写?

4

1 回答 1

2

您需要一个将从MeasureOverride返回 (0,0) 的控件。 Canvas会执行此操作,但它可能没有您想要的其他行为。您还可以子类化现有面板,如 Grid,并返回一个空大小:

public class ZeroGrid
    : Grid
{
    protected override Size MeasureOverride(Size constraint)
    {
        base.MeasureOverride(constraint);
        return new Size();
    }
}

这将表现得像一个网格,因此它的内容将拉伸到它的实际大小,但它的 DesiredSize 总是为零,因此它不会影响 SizeToContent。

于 2010-07-04T02:13:20.633 回答