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보다 크거나 같아야 합니다.

예제

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

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

설명

Width 는 너비 정보를 지정하는 FrameworkElement 의 세 가지 쓰기 가능한 속성 중 하나입니다. 다른 두 가지는 MinWidthMaxWidth입니다. 이러한 값 간에 충돌이 있는 경우 실제 너비 결정에 대한 애플리케이션 순서는 먼저 MinWidth 를 적용한 다음 MaxWidth, 경계 내에 Width있는 경우 를 적용해야 한다는 것입니다.

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

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

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

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

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

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

"Auto" 및 NaN

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

참고

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

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

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

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

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

적용 대상

추가 정보