布局空间和呈现空间

更新:2007 年 11 月

在 Visual Studio Windows Presentation Foundation (WPF) 设计器中,可以将控件相对于两个不同的参考框架(布局空间和呈现空间)放置在设计图面上。

布局空间定义在 WPF 布局系统计算设计的布局时控件占据了多少空间。在 WPF 设计器中可以方便地查看控件的布局空间,这是因为在您选择控件时布局空间由选择装饰器来装饰。

呈现空间定义在计算了布局以及应用了所有呈现转换后控件占据了多少空间。

父子关系

默认情况下,控件的呈现空间和布局空间是连续的,这意味着它们占据相同的空间。可以通过使用呈现转换相对于布局空间来移动呈现空间。可以在任意方向进行这种移动,这种移动甚至可将呈现的控件完全置于布局空间外部。还可以使用呈现转换来缩放元素,使该元素大于或小于其布局大小。有关呈现转换的更多信息,请参见变换

在下面的示例中,通过使用缩放尺寸小于 1.0 的 RenderTransform,按钮的大小已经减小。

缩放到小于布局大小的按钮

Margin、Grid.Row、Grid.Column、WidthHeight 等布局属性影响元素的布局空间并且相对于父元素的呈现空间。元素的布局空间映射到该元素的父级的呈现空间。

还必须将与这些布局属性进行交互的所有装饰器放置在布局空间内。例如,抓取手柄或大小调整装饰器位于布局空间内,因为它们直接显示并影响布局。在上面的示例中,由于抓取手柄不受呈现转换的影响,因此它们显示在与按钮边缘有一些距离的位置。这就使得按钮比布局属性提供给它的空间小。

请参见

概念

装饰器体系结构

参考

AdornerPanel

其他资源

WPF 设计器扩展性