UIElement.DesiredSize 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
레이아웃 프로세스의 측정 단계 중 이 요소가 계산한 크기를 가져옵니다.
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
속성 값
정렬 단계에 필요한 크기인 계산된 크기입니다.
예제
다음 예제에서는 구현의 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 또는 특정 시나리오에서도 잠재적으로 무시될 수 있습니다.