UIElement.DesiredSize UIElement.DesiredSize UIElement.DesiredSize UIElement.DesiredSize Property

定義

レイアウト処理の測定パスの実行中に、この要素が計算したサイズを取得します。

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

プロパティ値

計算されたサイズ。これが、配置パスの目的のサイズになります。

次の例はDesiredSizeの一部として、MeasureOverride実装します。 通知方法Measureを取得するには、直前に呼び出されますがDesiredSizeします。 これによりを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

注釈

場合、このプロパティによって返される値は有効な測定値にのみがの値、IsMeasureValidプロパティはtrueします。

DesiredSize などのレイアウト動作を実装するときに測定要因の 1 つオーバーライドと、通常、チェックArrangeOverrideMeasureOverride、またはOnRender(で、OnRender場合、チェックする可能性がありますRenderSize代わりに、これによって異なりますが、実装の場合)。 シナリオによっては、DesiredSize可能性がありますが完全に順守されます、実装ロジック、制約のDesiredSizeが適用され、このような制約は、親要素または子要素のいずれかの他の特性も変更可能性があります。 たとえば、スクロール可能なリージョンをサポートしています (ただし、選択をスクロール可能なリージョンを既に有効にする WPF フレームワーク レベルのコントロールから派生) をコントロールで使用可能なサイズと比較DesiredSizeします。 コントロールのスクロール バーを有効になっている内部の状態を設定し、でした、UIそのコントロール。 または、DesiredSize危険性がある特定のシナリオでも無視されます。

適用対象

こちらもご覧ください