[Xamarine Form] 20/117 ~ 27/117
20. Exercise : 연습
Section 3. Layouts
21. Introduce
22. Stack Layout in XAML
- html 에서 <html> 테그를 담당하는 Xamarin의 ContentPage는 자식을 한개 밖에 받지 못함
- 그러므로 여러개의 테그를 쓰고 싶을 때, StackLayout을 사용함.
- StackLayout 은 html의 <ul>테그와 비슷하게 하위에 일정한 규칙을 적용하여 자식 테그를 가질 수 있음.
- StackLayout은 VerticalOptions 혹은 HorizontalOptions를 주지 않을 때, 부모의 영역을 차지함.
- VerticalOptions을 줬을 땐 height가 자식의 속성을 따라가고, 반대로 HorizontalOptions를 줬을 땐 width가 따라감.
- 자식들은 StackLayout의 속성을 따르며, 자식안에 다른 컴포넌트를 넣고 싶다면, StackLayout안에 StackLayout을 줘야함.
23. StackLayout in Code
- 대부분의 layout은 좀 더 간편하고 빠른 속도를 위해 XAML에 정의하는게 좋으나
- 다른 방법이 없거나 동적으로 적용할 때는 C# 코드를 사용해야한다.
- 보다보니 C#코드는 JAVA나 당연하게 C언어를 닮았지만, 화면을 제어한다는 점에서 자바스크립트와 비슷하다. 마치 document.getElementById("id1").css("height","100) 과 같이.
24. StackLayout in Exercise
- Task1, 2로 나눠져 있으며 BoxView를 사용하게 됨.
25. Grid in XAML
- attached binded property
- property element class
- Grid.ColoumnDefinitions, Grid.RowDefinitions
- * , Auto, unit(100)
26. Grid in Code
- var grid = new Grid로 선언, 기본 속성으로는 RowSpacing, ColumSpacing이 있다.
- grid.Children.add(Veiw, Left, Top) 으로 자식 노드를 설정할 수 있다.
- Grid.SetRowSpan(View , span) 을 넣을 수 있다.
- Grid.SetRow, Grid.SetColumn 도 존재하지만 25강에서 말했듯 attached binded property로 사용하려면 grid.Children.add로 사용하는게 권장된다.
- 달력이나 스케쥴러를 XAML에서 작성하면 시간이 너무 오래걸리므로 code를 추천한다.
27. Grid Exercise
- 그리드 사용 연습