프로그래밍/실버라이트

[실버라이트] 레이 아웃 시스템

쿠샨 2010. 12. 20. 18:27

실버라이트 레이 아웃 시스템을 이해 하기 위해서는 다음 그림에 대한 이해가 꼭 필요 하다.


위의 그림은 부모 패널의 크기와 자식 요소 및 자식이 들어 있는 레이아웃 슬롯을 보여 준다.

실제로, 자식에 대한 할당 영역은 자식 요소의 크기 보다 훨씬 크다.
각 자식에 대한 레이아웃 슬롯의 크기는 부모 컨테이너가 결정 한다. 부모는 자식이 요청하는 것 보다 공간을 많거나 적게 할당 할 수 있다.
GetLayoutSlot 을 호출 하면 레이아웃 슬롯의 크기를 가져올 수 있다.

기본 패널 Canvas , Grid , StackPanel

Canvas
CanVas는 CanVas 영역에 상대적인 좌표를 사용하여 자식 요소를 명시적으로 배치할 수 있는 영역을 정의
CanVas를 사용하여 절대 위치를 지정할 경우 브라우저 창의 크기가 변할 경우 재배치 되지 않고, 지정된 픽셀 위치에 그대로 유지
다음 조건 중 하나 이상이 충족 될 경우 CanVas는 표시 되지 않는다.
Height / Width 속성 값이 0 인 경우
Background 속성이 null 인 경우
Opacity 속성이 0 인 경우
Visibility 속성이 Collapsed 인 경우
Canvas의 상위 개체 중 하나가 표시되지 않는 경우
<Canvas 사용 예>
Grid
Grid는 Visual Studio Silverlight 템플릿에 사용되는 루트 요소
Grid는 열과 행으로 구성되는 유연한 표 영역을 정의
브라우저 창의 크기가 변할 경우 재배치
<Grid 사용 예>
 

StackPanel
StackPanel은 가로 또는 세로 방향의 한 줄에 자식 요소 정의
StackPanel은 브라우저 창의 크기가 변할 경우 재배치
StackPanel의 자식은 기본 적으로 StackPanel의 left / top 에 배치 된다.(확인 필요)
<StackPanel 사용 예>


간단하게 기본적은 실버라이트 레이아웃 시스템을 살표 보았다.

다음 기회에 좀더 세부적인 부분을 포스팅 할 예정 이다.

오늘도 인내심을 자극 하며 열프!