代码之家  ›  专栏  ›  技术社区  ›  devios1

在WPF中是否有可以“击败”SizeToContent的面板?

  •  2
  • devios1  · 技术社区  · 14 年前

    我基本上希望窗口的某些部分不会影响sizeToContent(比如标题栏),以便它看起来没有大小和折叠。是否有一个面板可以用来执行此操作(可能像滚动查看器?)还是我必须自己写?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Quartermeister    14 年前

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

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

    这将表现得像一个网格,所以它的内容将延伸到实际大小,但它总是希望大小为零,这样它就不会影响大小内容。