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

정의

레이아웃 프로세스의 측정 단계 중 이 요소가 계산한 크기를 가져옵니다.Gets the size that this element computed during the measure pass of the layout process.

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

속성 값

정렬 단계에 필요한 크기인 계산된 크기입니다.The computed size, which becomes the desired size for the arrange pass.

예제

다음 예와 DesiredSize 의 일부로 MeasureOverride 구현 합니다.The following example shows DesiredSize as part of a MeasureOverride implementation. 알림 방법을 Measure 즉시 가져오기 전에 호출 됩니다 DesiredSize합니다.Notice how Measure is called immediately prior to obtaining DesiredSize. 이 기능은 DesiredSize 적절 한 값을 보유 합니다.This assures that DesiredSize holds a legitimate value.

    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합니다.The value returned by this property will only be a valid measurement if the value of the IsMeasureValid property is true.

DesiredSize 같은 재정의 레이아웃 동작을 구현 하는 경우 측정 요소 중 하나를 검사할 일반적으로 ArrangeOverride, MeasureOverride, 또는 OnRender (에 OnRender 사례를 확인할 수 있습니다 RenderSize 대신이에 따라 달라 집니다 하지만 구현)입니다.DesiredSize is typically checked as one of the measurement factors when you implement layout behavior overrides such as ArrangeOverride, MeasureOverride, or OnRender (in the OnRender case, you might check RenderSize instead, but this depends on your implementation). 시나리오에 따라 DesiredSize 에서 제약 조건 구현 논리에 의해 완벽 하 게 적용 될 수 있습니다 DesiredSize 적용 될 수 있습니다 이러한 제약 조건은 부모 요소 또는 자식 요소가 다른 특성 변경도 될 수 있습니다.Depending on the scenario, DesiredSize might be fully respected by your implementation logic, constraints on DesiredSize might be applied, and such constraints might also change other characteristics of either the parent element or child element. 스크롤 가능한 영역을 지원 합니다 (하지만 이미 스크롤 가능한 영역을 사용 하도록 설정 하는 WPF 프레임 워크 수준 컨트롤에서 파생 하지 않도록 선택) 컨트롤을 사용할 수 있는 크기를 비교할 수 있습니다. 예를 들어 DesiredSize합니다.For example, a control that supports scrollable regions (but chooses not to derive from the WPF framework-level controls that already enable scrollable regions) could compare available size to DesiredSize. 컨트롤의 스크롤 막대를 사용 하도록 설정 하는 내부 상태를 설정할 수 있습니다 다음을 UIUI 해당 컨트롤에 대 한 합니다.The control could then set an internal state that enabled scrollbars in the UIUI for that control. 또는 DesiredSize 수 또한 특정 시나리오에서 무시 됩니다.Or, DesiredSize could potentially also be ignored in certain scenarios.

적용 대상

추가 정보