FrameworkElement.Width Property
FrameworkElement의 너비를 가져오거나 설정합니다.
구문
<frameworkElement Width="double"/> -or- <frameworkElement Width="Auto"/>
속성 값
유형: System.Double [.NET] | float64 [C++]
개체의 너비(픽셀 단위)입니다. 기본값은 NaN입니다. 특수 NaN 값을 제외하고 이 값은 0보다 크거나 같아야 합니다.
설명
Width는 너비 정보를 지정하는 FrameworkElement의 세 가지 쓰기 가능한 속성 중 하나입니다. 다른 두 속성은 MinWidth 및 MaxWidth입니다. 이들 값이 서로 충돌하는 경우 실제 너비를 결정하기 위한 적용 순서는 MinWidth, MaxWidth 그리고 범위 내에 있는 경우 Width 순입니다.
FrameworkElement 파생 형식 중 몇 가지는 Shape에서도 파생됩니다. 모든 Shape 클래스가 Height 또는 Width를 사용하여 모양을 지정하는 것은 아니며, 대신 일련의 점을 정의할 수 있는 특정 속성을 사용하기도 합니다. 이러한 경우 Height 또는 Width는 일반적으로 직접 설정되지 않고 계산됩니다.
Height 또는 Width보다 크기를 지정하는 데 유용한 속성이 포함된 사용자 지정 클래스의 경우에도 위와 비슷한 경우를 고려해 볼 수 있습니다. Height 또는 Width는 모두 아직 멤버로 사용할 수 있고 설정할 수 있습니다.
Height 또는 Width 속성이 설정된 개체는 거의 항상 다른 부모의 자식 컬렉션 내에 있는 자식 개체이며 레이아웃 프로세스용으로 제안된 값으로만 Height 또는 Width를 설정할 수 있습니다. 레이아웃 시스템은 물론 부모 클래스의 특정 레이아웃 논리는 레이아웃 프로세스 중에 이 값을 바인딩되지 않은 입력으로 사용하며 개체 자르기, 개체 크기 조정, 컨테이너 크기 조정 또는 이러한 동작을 조합하여 수행해야 할 수 있으며 이는 레이아웃에 참여하는 여러 개체에 영향을 줍니다.
이 속성의 반환 값은 항상 속성에 설정된 값과 같습니다. 이와 대조적으로 ActualWidth 속성의 값은 다양하게 바뀔 수 있습니다. 가변성은 일시적으로 발생하거나 레이아웃이 제안된 크기를 거부한 경우에는 정적으로 발생할 수도 있습니다. 레이아웃 시스템 자체는 속성 시스템의 Width 집합을 기준으로 비동기적으로 작동하며, 해당 크기 조정 속성 변경 내용을 아직 처리하지 않았을 수도 있습니다.
Width에 음수 값은 사용할 수 없습니다. 또한 Width를 가능한 시각적 표시의 최대 크기보다 상당히 큰 값으로 설정하지 마십시오.
"Auto" 레이아웃 및 Double.NaN
Height 및 Width의 기본값은 0이 아니며, Double.NaN입니다. Height 및 Width는 설정되지 않은 "Auto" 값이 되는 기능을 지원합니다. Height 및 Width는 Double 값이므로 Double.NaN은 이 "Auto" 동작을 나타내기 위한 특수한 값으로 사용됩니다. 레이아웃 시스템에서는 "Auto" 값의 의미를 특정 픽셀 값이 아니라 레이아웃의 사용 가능한 크기에 따라 개체 크기를 조정해야 하는 것으로 일반적으로 해석합니다. 레이아웃에 사용되는 개체에 "Auto" 동작을 지정하려면 Height 및 Width를 설정되지 않은 상태, 즉 Double.NaN 기본값으로 둡니다. 이전에 값을 설정했고 런타임 코드로 "Auto" 동작을 다시 사용하도록 설정하려고 할 경우 특히 Double.NaN에 Height 및 Width를 설정합니다. 시각적 상태 템플릿에서 Double 값 대신 문자열 "Auto"가 되도록 XAML에서 Height 및 Width 특성을 명시적으로 설정할 수도 있습니다.
예제
이 예제에서는 런타임에 만들어지고 해당 콘텐츠와 Height, Width 및 Background 같은 기본 표시 속성을 초기화해야 하는 UI 요소의 간단한 속성 집합을 보여줍니다.
Button button2 = new Button(); button2.Height = 50; button2.Width = 100; button2.Background = new SolidColorBrush(Colors.Blue); button2.Content = "Click Me";
요구 사항
|
지원되는 최소 클라이언트 | Windows 8 |
|---|---|
|
지원되는 최소 서버 | Windows Server 2012 |
|
네임스페이스 |
|
|
메타데이터 |
|
참고 항목
