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

FrameworkElement.Width 속성

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

네임스페이스:  System.Windows
어셈블리:  PresentationFramework(PresentationFramework.dll)
XAML의 XMLNS: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable)]
[TypeConverterAttribute(typeof(LengthConverter))]
public double Width { get; set; }
<object Width="double"/>
- or –
<object Width ="qualifiedDouble"/>
- or -
<object Width ="Auto"/>

XAML 값

double

Double

0.0보다 크거나 같은 Double 값의 문자열 표현입니다. 상한 경계에 대한 자세한 내용은 설명 부분을 참조하십시오. 이 값은 device-independent unit (1/96th inch) 단위로 해석됩니다. 문자열에 소수점을 명시적으로 포함할 필요는 없습니다. 예를 들어 값 1을 사용할 수 있습니다.

qualifiedDouble

위에서 설명한 double 값으로, 뒤에 px, in, cm, pt 등의 단위 선언 문자열 중 하나가 옵니다.

px(기본값)는 device-independent units (1/96th inch per unit)입니다.

in은 인치를 나타냅니다(1in==96px).

cm은 센티미터를 나타냅니다(1cm==(96/2.54)px).

pt는 포인트를 나타냅니다(1pt==(96/72)px).

Auto

자동 크기 조정 동작을 사용합니다. 설명 부분을 참조하십시오.

속성 값

형식: System.Double
요소의 너비(device-independent units (1/96th inch per unit))입니다. 기본값은 Double.NaN입니다. 이 값은 0.0보다 크거나 같아야 합니다. 상한 경계에 대한 자세한 내용은 설명 부분을 참조하십시오.

식별자 필드

WidthProperty

true 로 설정된 메타데이터 속성

AffectsMeasure

이 속성은 너비 정보를 지정하는 FrameworkElement의 세 속성 중 하나입니다. 다른 두 속성은 MinWidthMaxWidth입니다. 이들 값이 서로 충돌하는 경우 실제 너비를 결정하기 위한 적용 순서는 MinWidth, MaxWidth, 그리고 각 값이 범위 내에 있는 경우 Width 순입니다.

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

허용 가능한 Double 값 외에 이 속성은 Double.NaN이 될 수도 있습니다. 이 방법을 사용하여 자동 크기 조정 동작을 지정합니다. XAML에서는 이 값을 "Auto" 문자열(대/소문자 구분)로 설정하여 자동 크기 조정 동작을 설정합니다. 자동 크기 조정 동작은 요소가 사용 가능한 너비에 맞게 채워짐을 나타냅니다. 그러나 특정 컨트롤은 다시 사용하도록 설정하는 경우가 아니면 자동 크기 조정 동작을 사용하지 않도록 설정하는 기본값을 기본 스타일을 통해 제공하는 경우가 많습니다.

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

This example visually shows the differences in rendering behavior among the four width-related properties in Windows Presentation Foundation (WPF).

The FrameworkElement class exposes four properties that describe the width characteristics of an element. These four properties can conflict, and when they do, the value that takes precedence is determined as follows: the MinWidth value takes precedence over the MaxWidth value, which in turn takes precedence over the Width value. A fourth property, ActualWidth, is read-only, and reports the actual width as determined by interactions with the layout process.

The following Extensible Application Markup Language (XAML) examples draw a Rectangle element (rect1) as a child of Canvas. You can change the width properties of a Rectangle by using a series of ListBox elements that represent the property values of MinWidth, MaxWidth, and Width. In this manner, the precedence of each property is visually displayed.


<Canvas Height="200" MinWidth="200" Background="#b0c4de" VerticalAlignment="Top"  HorizontalAlignment="Center" Name="myCanvas">
    <Rectangle HorizontalAlignment="Center" Canvas.Top="50" Canvas.Left="50"  Name="rect1" Fill="#4682b4" Width="100" Height="100"/>
</Canvas>


...


    <TextBlock Grid.Row="1" Grid.Column="0" Margin="10,0,0,0" TextWrapping="Wrap">Set the Rectangle Width:</TextBlock>
    <ListBox Grid.Column="1" Grid.Row="1" Margin="10,0,0,0" Width="50" Height="50" SelectionChanged="changeWidth">
      <ListBoxItem>25</ListBoxItem>
      <ListBoxItem>50</ListBoxItem>
      <ListBoxItem>75</ListBoxItem>
      <ListBoxItem>100</ListBoxItem>
      <ListBoxItem>125</ListBoxItem>
      <ListBoxItem>150</ListBoxItem>
      <ListBoxItem>175</ListBoxItem>
      <ListBoxItem>200</ListBoxItem>
      <ListBoxItem>225</ListBoxItem>
      <ListBoxItem>250</ListBoxItem>
    </ListBox>

	<TextBlock Grid.Row="1" Grid.Column="2" Margin="10,0,0,0" TextWrapping="Wrap">Set the Rectangle MinWidth:</TextBlock>
    <ListBox Grid.Column="3" Grid.Row="1" Margin="10,0,0,0" Width="50" Height="50" SelectionChanged="changeMinWidth">
      <ListBoxItem>25</ListBoxItem>
      <ListBoxItem>50</ListBoxItem>
      <ListBoxItem>75</ListBoxItem>
      <ListBoxItem>100</ListBoxItem>
      <ListBoxItem>125</ListBoxItem>
      <ListBoxItem>150</ListBoxItem>
      <ListBoxItem>175</ListBoxItem>
      <ListBoxItem>200</ListBoxItem>
      <ListBoxItem>225</ListBoxItem>
      <ListBoxItem>250</ListBoxItem>
  </ListBox>      

    <TextBlock Grid.Row="1" Grid.Column="4" Margin="10,0,0,0" TextWrapping="Wrap">Set the Rectangle MaxWidth:</TextBlock>
    <ListBox Grid.Column="5" Grid.Row="1" Margin="10,0,0,0" Width="50" Height="50" SelectionChanged="changeMaxWidth">
      <ListBoxItem>25</ListBoxItem>
      <ListBoxItem>50</ListBoxItem>
      <ListBoxItem>75</ListBoxItem>
      <ListBoxItem>100</ListBoxItem>
      <ListBoxItem>125</ListBoxItem>
      <ListBoxItem>150</ListBoxItem>
      <ListBoxItem>175</ListBoxItem>
      <ListBoxItem>200</ListBoxItem>
      <ListBoxItem>225</ListBoxItem>
      <ListBoxItem>250</ListBoxItem>  
    </ListBox>


The following code-behind examples handle the events that the SelectionChanged event raises. Each custom method takes the input from the ListBox, parses the value as a Double, and applies the value to the specified width-related property. The width values are also converted to a string and written to various TextBlock elements (definition of those elements is not shown in the selected XAML).


private void changeWidth(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.Width = sz1;
    rect1.UpdateLayout();
    txt1.Text = "ActualWidth is set to " + rect1.ActualWidth;
    txt2.Text = "Width is set to " + rect1.Width;
    txt3.Text = "MinWidth is set to " + rect1.MinWidth;
    txt4.Text = "MaxWidth is set to " + rect1.MaxWidth;
}
private void changeMinWidth(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.MinWidth = sz1;
    rect1.UpdateLayout();
    txt1.Text = "ActualWidth is set to " + rect1.ActualWidth;
    txt2.Text = "Width is set to " + rect1.Width;
    txt3.Text = "MinWidth is set to " + rect1.MinWidth;
    txt4.Text = "MaxWidth is set to " + rect1.MaxWidth;
}
private void changeMaxWidth(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.MaxWidth = sz1;
    rect1.UpdateLayout();
    txt1.Text = "ActualWidth is set to " + rect1.ActualWidth;
    txt2.Text = "Width is set to " + rect1.Width;
    txt3.Text = "MinWidth is set to " + rect1.MinWidth;
    txt4.Text = "MaxWidth is set to " + rect1.MaxWidth;
}


For the complete sample, see Width Properties Comparison Sample.

.NET Framework

4, 3.5, 3.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows 7, Windows Vista SP1 이상, Windows XP SP3, Windows Server 2008(Server Core는 지원되지 않음), Windows Server 2008 R2(Server Core는 SP1 이상에서 지원됨), Windows Server 2003 SP2

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

커뮤니티 추가 항목

표시:
© 2014 Microsoft