FrameworkElement.Width 속성

2013-12-13

FrameworkElement의 너비를 가져오거나 설정합니다.

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

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

속성 값

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

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

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

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

TextBlock은 컨테이너 내부에 텍스트가 표시되는 컨테이너 개체의 한 예입니다. 텍스트의 크기는 렌더링되는 TextBlock의 크기에 영향을 줄 수 있기 때문에 TextBlock은 지정된 Height 또는 Width를 따르지 않을 수도 있습니다. TextBlock과 같은 컨테이너 개체의 경우 계산된 크기를 노출하는 두 개의 추가 속성인 ActualHeightActualWidth를 확인해야 합니다.

Width에 음수 값은 사용할 수 없습니다. Width에 정수가 아닌 값을 사용하는 것은 기술적으로는 가능하지만 이 경우 XAML이나 코드에서 값이 정수가 아닌 값으로 유지됩니다. 일반적으로 정수가 아닌 값은 사용하지 않는 것이 좋으며, 사용할 경우 기본 레이아웃 반올림 동작에 따라 반올림됩니다. 다음을 참조하세요.

유효성 검사 이외에도 Width에는 불명확한 상한 값 경계가 적용됩니다. 이 상한 값은 매우 큰 값으로, Single.MaxValue보다는 크지만 Double.MaxValue보다는 작습니다. Width를 가능한 시각적 표시의 최대값보다 너무 큰 값으로는 설정하지 마세요. 이 불명확한 상한 경계가 초과될 수 있습니다.

"Auto" 레이아웃 및 Double.NaN

HeightWidth의 기본값은 0이 아니고 Double.NaN입니다. HeightWidth는 설정되지 않은 "Auto" 값이 될 수 있도록 지원합니다. HeightWidth는 double 값이므로 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

표시:
© 2014 Microsoft