정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

FrameworkElement.Height 속성

2013-12-13

FrameworkElement의 제안된 높이를 가져오거나 설정합니다.

Namespace:  System.Windows
어셈블리:  System.Windows(System.Windows.dll)
XMLNS for XAML: xmlns에 매핑되지 않습니다.

public double Height { get; set; }
<frameworkElement Height="double"/>
-or-
<frameworkElement Height="Auto"/>

속성 값

형식: System.Double
요소의 높이(논리 픽셀 단위)입니다. 기본값은 Double.NaN입니다. 특수 Double.NaN 값을 제외하고 이 값은 0보다 크거나 같아야 합니다. 상한에 대한 자세한 내용은 설명 부분을 참조하세요.

종속성 속성 식별자 필드: HeightProperty

Height는 높이 정보를 지정하는 FrameworkElement의 세 가지 쓰기 가능 속성 중 하나입니다. 다른 두 속성은 MinHeightMaxHeight입니다. 이들 값이 서로 충돌하는 경우 실제 높이를 결정하기 위한 적용 순서는 MinHeight, MaxHeight, 그리고 범위 내에 있는 경우 Height 순입니다.

FrameworkElement에서 파생된 개체 중 몇 가지는 Shape에서도 파생됩니다. 모든 Shape 클래스가 Height 또는 Width를 사용하여 모양을 지정하는 것은 아니며, 대신 일련의 점을 정의하는 특정 속성을 사용하기도 합니다. 이 경우 Height 또는 Width는 일반적으로 직접 설정되지 않고 계산됩니다.

Height 또는 Width보다 크기를 지정하는 데 보다 유용한 속성이 포함된 사용자 지정 클래스의 경우에도 위와 비슷한 경우를 고려해 볼 수 있습니다. 이 경우 Height 또는 Width를 설정하지 않는 것이 적절하더라도 Height 또는 Width를 멤버로 사용하고 설정할 수는 있습니다. 꼭 필요한 경우에는 HeightWidth 속성을 숨겨서 클래스 사용자가 직접 설정할 수 없도록 하는 것도 유용한 방법이 될 수 있습니다.

Height 또는 Width 속성이 설정된 개체가 다른 부모의 자식 컬렉션 내에 있는 자식 개체일 경우 Windows Phone 레이아웃용으로 제안된 값으로만 Height 또는 Width를 설정할 수 있습니다. 레이아웃 시스템은 물론 부모 클래스의 특정 레이아웃 논리는 레이아웃 처리 단계에서 이 값을 바인딩되지 않은 입력으로 사용하여 개체 자르기, 개체 크기 조정, 컨테이너 크기 조정 또는 이러한 동작을 조합하여 수행해야 할 수 있으며 이는 레이아웃에 참여하는 여러 개체에 영향을 줍니다. 실제로 FrameworkElement는 거의 항상 다른 요소의 자식 개체이며 이는 페이지 루트에서 Height를 설정하는 경우에도 마찬가지입니다. 페이지 루트의 경우 해당 값은 내부 응용프로그램 모델이 응용프로그램에 Windows Phone 콘텐츠 영역을 만드는 기본 렌더링을 가정하는 경우에 사용됩니다.

이 속성의 반환 값은 항상 속성에 대해 설정된 값과 같습니다. 반면 ActualHeight의 값은 다양하게 바뀔 수 있습니다. 가변성은 일시적으로 발생하거나 레이아웃이 제안된 크기를 거부한 경우에는 정적으로 발생할 수도 있습니다. 레이아웃 시스템 자체는 속성 시스템의 Height 집합을 기준으로 비동기적으로 작동하며, 레이아웃 시스템이 아직 특정 크기 조정 속성 변경 내용을 처리하지 않은 상태일 수 있습니다.

Height에 음수 값은 사용할 수 없습니다. Height에 정수가 아닌 값을 사용하는 것은 기술적으로는 가능하지만 사용하지 않는 것이 좋으며, 사용할 경우 기본 레이아웃 반올림 동작에 따라 반올림됩니다.

유효성 검사 이외에도 레이아웃 시스템에서는 Height에 대해 불명확한 상한 값 경계를 적용합니다. 이 상한 값은 매우 큰 값으로, Single.MaxValue보다는 크지만 Double.MaxValue보다는 작습니다. 이 경계를 초과하면 개체가 렌더링되지 않으며 예외가 발생하지 않습니다. Height를 가능한 시각적 표시의 최대값보다 너무 큰 값으로는 설정하지 마세요. 이 불명확한 상한 경계가 초과될 수 있습니다.

"Auto" 레이아웃 및 Double.NaN

HeightWidth의 기본값은 0이 아니고 Double.NaN입니다. HeightWidth는 설정되지 않은 "Auto" 값이 될 수 있도록 지원합니다. HeightWidthDouble 값이므로 Double.NaN은 이 "Auto" 동작을 나타내기 위한 특수한 값으로 사용됩니다. 레이아웃 시스템에서는 "Auto" 값의 의미를 특정 논리 픽셀 값이 아니라 레이아웃의 사용 가능한 크기에 따라 개체 크기를 조정해야 하는 것으로 해석합니다.

레이아웃에 사용되는 개체에 "Auto" 동작을 지정하려면 HeightWidth를 설정되지 않은 상태, 즉 Double.NaN 기본값으로 두면 됩니다. 이전에 특정 값을 설정했으며 다시 "Auto" 동작으로 되돌리려는 경우에는 HeightWidthDouble.NaN으로 설정합니다.

시각적 상태 템플릿을 제외하고 일반적인 경우는 아니지만, XAML에서 HeightWidth 특성을 Double 값이 아니라 문자열 Auto로 명시적으로 설정할 수도 있습니다. XAML에서 Auto를 설정하는 것은 TypeConverter 동작이 아니라 XAML 파서의 특수 동작입니다.

Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

표시: