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

FrameworkElement.MaxWidth 속성

업데이트: 2007년 11월

요소의 최대 너비 제약 조건을 가져오거나 설정합니다. 이 속성은 종속성 속성입니다.

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

[TypeConverterAttribute(typeof(LengthConverter))]
[LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable)]
public double MaxWidth { get; set; }
/** @property */
/** @attribute TypeConverterAttribute(LengthConverter) */
/** @attribute LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable) */
public double get_MaxWidth()
/** @property */
/** @attribute TypeConverterAttribute(LengthConverter) */
/** @attribute LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable) */
public  void set_MaxWidth(double value)

public function get MaxWidth () : double
public function set MaxWidth (value : double)
<object MaxWidth="double"/>
- or -
<object MaxWidth="qualifiedDouble"/>
double Double 
                    0.0보다 크거나 같은 Double 값의 문자열 표현입니다. 이것은 장치 독립적 단위(1/96인치) 단위로 해석됩니다. 문자열에 소수점을 명시적으로 포함할 필요는 없습니다. 예를 들어 값 1을 사용할 수 있습니다. 
                
                    여기서도 속성 값 단원에서 설명한 것과 같은 Double 범위 제한이 적용됩니다. 단, 값을 PositiveInfinity로 설정하려는 경우에는 x:Static 태그 확장을 사용해야 합니다.
                qualifiedDouble
                    위에서 설명한 double 값으로, 뒤에 px, in, cm, pt 등의 단위 선언 문자열 중 하나가 옵니다.
                 px(기본값)는 장치 독립적 단위(단위당 1/96인치)입니다.
                 in은 인치를 나타냅니다(1in==96px).
                 cm은 센티미터를 나타냅니다(1cm==(96/2.54)px).
                 pt는 포인트를 나타냅니다(1pt==(96/72)px).
                

속성 값

형식: System.Double

요소의 최대 너비(장치 독립적 단위(단위당 1/96인치))입니다. 기본값은 PositiveInfinity입니다. 이 값은 0.0 이상의 모든 값이 될 수 있습니다. PositiveInfinity도 사용 가능합니다.

식별자 필드

MaxWidthProperty

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

AffectsMeasure

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

Double 값에 대한 값 제한은 ValidateValueCallback 메커니즘에 의해 적용됩니다. 잘못된 값을 설정하려고 하면 런타임 예외가 throw됩니다.

이 예제에서는 WPF(Windows Presentation Foundation)의 너비와 관련된 네 가지 속성이 지닌 렌더링 동작의 차이점을 시각적으로 보여 줍니다.

FrameworkElement 클래스는 요소의 너비 특성을 정의하는 네 가지 속성을 노출합니다. 이 네 가지 속성은 서로 충돌할 수 있으며 충돌하는 경우 MinWidth 값, MaxWidth 값 및 Width 값의 순으로 우선 순위가 결정됩니다. 네 번째 속성인 ActualWidth는 읽기 전용입니다.

다음 XAML(Extensible Application Markup Language) 예제에서는 Canvas의 자식 항목으로 Rectangle 요소(rect1)를 그립니다. MinWidth, MaxWidthWidth의 속성 값을 나타내는 일련의 ListBoxes를 사용하여 Rectangle의 너비 속성을 변경할 수 있습니다. 이런 식으로 각 속성의 우선 순위가 시각적으로 표시됩니다.

<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>


다음 코드 숨김 예제에서는 SelectionChanged 이벤트가 발생시키는 이벤트를 처리합니다. 각 사용자 지정 메서드가 ListBox에서 입력을 가져와 Double로 값을 구문 분석한 다음 지정된 너비 관련 속성에 적용합니다. 너비 값은 문자열로 변환되어 txt1이라는 TextBlock 요소에도 기록됩니다.

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;
}


전체 샘플을 보려면 너비 속성 비교 샘플을 참조하십시오.

Windows Vista

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

.NET Framework

3.5, 3.0에서 지원

커뮤니티 추가 항목

표시:
© 2014 Microsoft