내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

FrameworkElement.Height 속성

요소의 제안된 높이를 가져오거나 설정합니다.

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

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

XAML 값

double

Double

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

qualifiedDouble

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

px(기본값)는 장치 독립적 단위(단위당 1/96인치)입니다.

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

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

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

Auto

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

속성 값

형식: System.Double
요소의 높이(장치 독립적 단위(단위당 1/96인치))입니다. 기본값은 Double.NaN입니다. 이 값은 0.0보다 크거나 같아야 합니다. 상한에 대한 자세한 내용은 설명 부분을 참조하십시오.

식별자 필드

HeightProperty

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

AffectsMeasure

Height 는 높이 정보를 지정하는 FrameworkElement의 세 쓰기 가능 속성 중 하나입니다. 다른 두 속성은 MinHeightMaxHeight입니다. 이들 값이 서로 충돌하는 경우 실제 높이를 결정하기 위한 적용 순서는 MinHeight, MaxHeight, 그리고 범위 내에 있는 경우 Height 순입니다.

이 요소가 다른 일부 요소 내의 자식 요소인 경우 이 속성을 값으로 설정할 때는 권장 값으로만 설정해야 합니다. 레이아웃 시스템과 부모 요소의 특정 레이아웃 논리는 레이아웃 프로세스 중에 이 값을 비바인딩 입력으로 사용합니다. 실제로 FrameworkElement는 거의 항상 다른 요소의 자식 요소이며, 이는 Window에서 Height를 설정하는 경우에도 마찬가지입니다. Window의 경우 해당 값은 기본 응용 프로그램 모델이 응용 프로그램을 호스팅하는 Hwnd를 만드는 기본 렌더링을 가정하는 경우에 사용됩니다.

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

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

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

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

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

FrameworkElement 클래스는 요소의 높이 특성을 정의하는 네 가지 속성을 노출합니다. 이 네 가지 속성은 서로 충돌할 수 있으며 충돌하는 경우 MinHeight 값, MaxHeight 값 및 Height 값의 순으로 우선 순위가 결정됩니다. 네 번째 속성인 ActualHeight는 읽기 전용이며, 레이아웃 프로세스와의 상호 작용을 통해 확인된 실제 높이를 보고합니다.

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


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


...


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

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

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


다음 코드 숨김 예제에서는 SelectionChanged 이벤트가 발생시키는 이벤트를 처리합니다. 각 처리기는 ListBox에서 입력을 가져와 Double로 값을 구문 분석한 다음 지정된 높이 관련 속성에 적용합니다. 높이 값도 문자열로 변환되어 여러 TextBlock 요소에 기록됩니다. 이러한 요소의 정의는 선택한 XAML에 표시되어 있지 않습니다.


private void changeHeight(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.Height = sz1;
    rect1.UpdateLayout();
    txt1.Text= "ActualHeight is set to " + rect1.ActualHeight;
    txt2.Text= "Height is set to " + rect1.Height;
    txt3.Text= "MinHeight is set to " + rect1.MinHeight;
    txt4.Text= "MaxHeight is set to " + rect1.MaxHeight;
}
private void changeMinHeight(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.MinHeight = sz1;
    rect1.UpdateLayout();
    txt1.Text= "ActualHeight is set to " + rect1.ActualHeight;
    txt2.Text= "Height is set to " + rect1.Height;
    txt3.Text= "MinHeight is set to " + rect1.MinHeight;
    txt4.Text= "MaxHeight is set to " + rect1.MaxHeight;
}
private void changeMaxHeight(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.MaxHeight = sz1;
    rect1.UpdateLayout();
    txt1.Text= "ActualHeight is set to " + rect1.ActualHeight;
    txt2.Text= "Height is set to " + rect1.Height;
    txt3.Text= "MinHeight is set to " + rect1.MinHeight;
    txt4.Text= "MaxHeight is set to " + rect1.MaxHeight;
}


전체 샘플을 보려면 Height Properties 샘플을 참조하십시오.

.NET Framework

4.5, 4, 3.5, 3.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

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

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft