DesiredSize 属性
要查看英语原文,请勾选“英语”复选框。也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

UIElement.DesiredSize 属性

获取此元素在布局过程的测量处理过程中计算的大小。

命名空间:  System.Windows
程序集:  PresentationCore(在 PresentationCore.dll 中)

public Size DesiredSize { get; }

属性值

类型:System.Windows.Size
计算大小,该大小成为排列处理过程所需的大小。

只有当 IsMeasureValid 属性值为 true 时,此属性返回的值才能作为有效的测量。

DesiredSize 通常在您实现布局行为重写(如 ArrangeOverrideMeasureOverrideOnRender)时被选为测量因子之一(在 OnRender情况下),您可能需要检查 RenderSize,但这取决于您的实现)。 根据具体情况,您的实现逻辑可能会充分考虑 DesiredSize,可能应用 DesiredSize 上的约束,并且此类约束可能也会更改父元素或子元素的其他特征。 例如,支持可滚动区域(但选择不从已启用可滚动区域的 WPF 框架级别控件派生)的控件可以将可用大小与 DesiredSize 进行比较。 该控件于是可以在其 UI 中设置启用滚动条的内部状态。 或者,在某些情况下也可能忽略 DesiredSize

下面的示例演示作为 MeasureOverride 实现一部分的 DesiredSize 注意如何恰好在获取 DesiredSize 之前调用 Measure 这确保 DesiredSize 保存合法值。


protected override Size MeasureOverride(Size availableSize)
{
    Size panelDesiredSize = new Size();

    // In our example, we just have one child. 
    // Report that our panel requires just the size of its only child.
    foreach (UIElement child in InternalChildren)
    {
        child.Measure(availableSize);
        panelDesiredSize = child.DesiredSize;
    }

    return panelDesiredSize ;
}


.NET Framework

受以下版本支持:4、3.5、3.0

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2

.NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

社区附加资源

添加
显示:
© 2016 Microsoft