다음을 통해 공유


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

정렬 단계에 필요한 크기인 계산된 크기입니다.

예제

다음 예제에서는 구현의 MeasureOverride 일부로 보여줍니다DesiredSize. 를 가져오기 직전에 호출하는 방법을 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는 일반적으로 레이아웃 동작 재정 ArrangeOverrideMeasureOverrideOnRender 의를 구현할 때 측정 요소 중 하나로 확인됩니다(이 OnRender 경우 대신 확인할 RenderSize 수 있지만 구현에 따라 다름). 시나리오 DesiredSize 에 따라 구현 논리에서 완전히 준수할 수 있고, 제약 조건이 DesiredSize 적용될 수 있으며, 이러한 제약 조건은 부모 요소 또는 자식 요소의 다른 특성을 변경할 수도 있습니다. 예를 들어 스크롤 가능한 영역을 지원하지만 이미 스크롤 가능한 영역을 사용하도록 설정한 WPF 프레임워크 수준 컨트롤에서 파생되지 않도록 선택하는 컨트롤은 사용 가능한 크기를 DesiredSize비교할 수 있습니다. 그런 다음 컨트롤은 해당 컨트롤에 대해 UI에서 스크롤 막대를 사용하도록 설정하는 내부 상태를 설정할 수 있습니다. DesiredSize 또는 특정 시나리오에서도 잠재적으로 무시될 수 있습니다.

적용 대상

추가 정보