상세 컨텐츠

본문 제목

[WPF] 레이아웃 #1 (패널의 계층)

WPF

by happynuri 2009. 2. 3. 17:50

본문

http://cafe.naver.com/uxbakery/127



패널의 계층

<?xml:namespace prefix = o /> 

System.Object

  System.Windows.Threading.DispatcherObject

    System.Windows.DependencyObject

      System.Windows.Media.Visual

        System.Windows.UIElement

          System.Windows.FrameworkElement

            System.Windows.Controls.Panel

              System.Windows.Controls.Canvas

              System.Windows.Controls.DockPanel

              System.Windows.Controls.Grid

              System.Windows.Controls.Primitives.TabPanel

              System.Windows.Controls.Primitives.ToolBarOverflowPanel

              System.Windows.Controls.Primitives.UniformGrid

              System.Windows.Controls.StackPanel

              System.Windows.Controls.Primitives.VirtualizingPanel

              System.Windows.Controls.Primitives.WrapPanel

 

 

Buttom,ToolTip 같은 ContentControl을 상속 받는 Panel은 모두 Content라는 속성을 가지고 있는데, 이 속성은 하나의 객체만 담을 수 있습니다.

 

이렇든 하나의 객체만 담아서는 표현의 제한이 있기 때문에 여러 개의 객체를 담아서 표현 하기 위해서 패널을 사용한다고 할 수 있습니다.

 

 

이러한 패널들을 늘리거나 줄이더라도 처음에 만들었던 레이아웃이 무너지지 않도록 하는 것이 레이아웃을 공부 하는데의 목표 일 것입니다.

 

 

패널에는 Children이란 프로퍼티가 있어서 자식 엘리먼트들을 저장 할 수 있습니다. Children 속성을사용하여서 자식 프로퍼티를 저장합니다. 이때 Children이라는 프로퍼티는 UIElementCollection 타입의 객체로  UIElement객체들의 컬렉션 입니다.

 

따라서 UIElement를 상속 받는 Control Image, Shape, Textblock객체 등을 모두 Children이라는 속성을 이용해서 담을 수 있는 것입니다.

다시말해서, 패널의 children 프로퍼티에 저장이 되는 요소는 UIElement를 상속 받는 요소여야 한다는 말입니다.

 

관련글 더보기

댓글 영역