다음을 통해 공유


FrameworkElement.Width 속성

정의

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

public:
 property double Width { double get(); void set(double value); };
double Width();

void Width(double value);
public double Width { get; set; }
var double = frameworkElement.width;
frameworkElement.width = double;
Public Property Width As Double
<frameworkElement Width="double"/>
-or-
<frameworkElement Width="Auto"/>

속성 값

Double

double

개체의 너비(픽셀)입니다. 기본값은 NaN입니다. 특수 NaN 값을 제외하고 이 값은 0보다 크거나 같아야 합니다.

예제

이 예제에서는 런타임에 만들어지고 해당 콘텐츠의 초기화가 필요한 UI 요소의 간단한 속성 집합과 Height 및 Width 및 Background와 같은 기본 표시 속성을 보여줍니다. (Background는 실제로 FrameworkElement에서 정의되지 않은 Control 속성입니다.)

Button button2 = new Button();
button2.Height = 50;
button2.Width = 100;
button2.Background = new SolidColorBrush(Colors.Blue);
button2.Content = "Click Me";
Dim button2 As Button = New Button
button2.Height = 50
button2.Width = 100
button2.Background = New SolidColorBrush(Colors.Blue)
button2.Content = "Click Me"

설명

Width는 Width 정보를 지정하는 FrameworkElement 의 세 가지 쓰기 가능한 속성 중 하나입니다. 다른 두 가지는 MinWidthMaxWidth입니다. 이러한 값 간에 충돌이 있는 경우 실제 너비 결정에 대한 애플리케이션 순서는 첫 번째 MinWidth 를 적용하고 MaxWidth를 적용해야 하며, 마지막으로 범위 내에 있는 경우 Width입니다.

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

사용자 지정 클래스는 클래스에 Height 또는 Width보다 차원을 지정하는 데 더 의미 있는 속성이 있을 수 있는 비슷한 고려 사항이 있을 수 있습니다. 높이 또는 너비는 모두 멤버로 사용할 수 있으며 설정할 수 있습니다.

Height 또는 Width 속성이 설정된 개체는 거의 항상 다른 부모의 자식 컬렉션에 있는 자식 개체이며 Height 또는 Width를 값으로 설정하는 것은 레이아웃 프로세스에 대해 제안된 값일 뿐입니다. 레이아웃 시스템 및 부모 클래스의 특정 레이아웃 논리는 레이아웃 프로세스 중에 값을 바인딩되지 않는 입력으로 사용하며, 개체를 잘라내거나, 크기를 조정하거나, 컨테이너 크기를 조정하거나, 레이아웃에서 참여하는 여러 개체에 걸쳐 있는 이러한 동작의 일부 조합을 사용해야 할 수 있습니다. 여백과 안쪽 여백은 사용 가능한 크기에도 영향을 줍니다. 자세한 내용은 맞춤, 여백 및 안쪽 여백을 참조하세요.

이 속성의 반환 값은 항상 설정된 값과 동일합니다. 반면 ActualWidth 속성의 값은 다를 수 있습니다. 레이아웃이 제안된 크기를 거부했기 때문에 정적으로 또는 일시적으로 분산이 발생할 수 있습니다. 레이아웃 시스템 자체는 속성 시스템의 Width 집합을 기준으로 비동기적으로 작동하며 레이아웃 시스템은 아직 크기 조정 속성 변경을 처리하지 않았을 수 있습니다.

Width에 대한 음수 값은 허용되지 않습니다.

또한 너비를 가능한 시각적 표시의 최대 크기보다 훨씬 큰 값으로 설정하지 마세요.

"Auto" 및 NaN

Height 및 Width의 기본값은 NaN으로 표시되는 "Auto"입니다. XAML 태그에서 "Auto" 문자열을 사용하여 값을 NaN으로 설정할 수 있습니다.

참고

C#에서는 Double.NaN에서 NaN을 가져올 수 있습니다.

C++에서는 매크로 또는 std::numeric_limits<double>::quiet_NaN()를 사용하여 NaN을 NAN 가져올 수 있습니다.

연산자를 == 사용하여 NaN을 테스트하지 마세요.

C#에서 Double.IsNaN() 을 사용하여 NaN을 테스트합니다.

C++에서 isnan() 을 사용하여 NaN을 테스트합니다.

레이아웃 시스템은 일반적으로 "자동" 값을 해석하여 개체의 크기를 특정 픽셀 값이 아닌 레이아웃에서 사용 가능한 크기로 조정해야 했음을 의미합니다.

적용 대상

추가 정보