共用方式為


UIElement.DesiredSize 屬性

定義

取得這個項目在版面配置處理序的測量傳遞期間所計算的大小。

public:
 property System::Windows::Size DesiredSize { System::Windows::Size get(); };
public System.Windows.Size DesiredSize { get; }
member this.DesiredSize : System.Windows.Size
Public ReadOnly Property DesiredSize As Size

屬性值

Size

成為排列傳遞所需大小的計算大小。

範例

下列範例示範 DesiredSize 為 實作的一 MeasureOverride 部分。 請注意在取得 DesiredSize 之前立即呼叫 的方式 Measure 。 這可確保 DesiredSize 保有合法的值。

virtual Size MeasureOverride(Size availableSize) override
{
    Size^ panelDesiredSize = gcnew Size();

    // In our example, we just have one child. 
    // Report that our panel requires just the size of its only child.
    for each (UIElement^ child in InternalChildren)
    {
        child->Measure(availableSize);
        panelDesiredSize = child->DesiredSize;
    }
    return *panelDesiredSize ;
}
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 ;
}
Protected Overrides Function MeasureOverride(ByVal availableSize As System.Windows.Size) As System.Windows.Size
    Dim panelDesiredSize As Size = New Size()
    ' In our example, we just have one child. 
    ' Report that our panel requires just the size of its only child.
    For Each child As UIElement In InternalChildren
        child.Measure(availableSize)
        panelDesiredSize = child.DesiredSize
    Next
    Return panelDesiredSize
End Function

備註

此屬性所傳回的值只有在 屬性值為 trueIsMeasureValid ,才會是有效的度量。

DesiredSize 當您實作版面配置行為覆寫,例如 ArrangeOverrideMeasureOverrideOnRender (OnRender 時,通常會檢查為其中一個度量因素,但可能會改為檢查 RenderSize ,但這取決於您的實作) 。 視案例而定, DesiredSize 您的實作邏輯可能會完全遵守條件約束、套用的條件約束,而這類條件 DesiredSize 約束也可能變更父元素或子項目的其他特性。 例如,支援可捲動區域的控制項 (,但選擇不要衍生自已經啟用可捲動區域的 WPF 架構層級控制項,) 可以比較可用的大小與 DesiredSize 。 然後,控制項可以設定內部狀態,以在該控制項的 UI 中啟用捲軸。 或者, DesiredSize 在某些情況下可能也會忽略。

適用於

另請參閱